ВУЗ:
Составители:
Рубрика:
Не всякий программный модуль способствует упрощению программы.
Выделить хороший с этой точки зрения модуль является серьезной творче-
ской задачей. Для оценки приемлемости выделенного модуля используются
некоторые критерии. Так, Хольт предложил следующие два общих критерия:
− хороший модуль снаружи проще, чем внутри;
− хороший модуль проще использовать, чем построить.
Майерс предлагает для оценки приемлемости программного модуля
использовать более конструктивные его характеристики:
− размер модуля;
− прочность модуля;
− сцепление с другими модулями;
− рутинность модуля (независимость от предыстории обращений к
нему).
Размер модуля измеряется числом содержащихся в нем операторов
или строк. Модуль не должен быть слишком маленьким или слишком боль-
шим. Маленькие модули приводят к громоздкой модульной структуре про-
граммы и могут не окупать накладных расходов, связанных с их оформлени-
ем. Большие модули неудобны для изучения и изменений, они могут сущест-
венно увеличить суммарное время повторных трансляций программы при
отладке программы. Обычно рекомендуются программные модули размером
от нескольких десятков до нескольких сотен операторов.
Прочность(связность) модуля − это мера его внутренних связей. Чем
выше прочность модуля, тем больше связей он может спрятать от внешней
по отношению к нему части программы и, следовательно, тем больший вклад
в упрощение программы он может внести.
Сцепление модуля − это мера его зависимости по данным от других
модулей. Характеризуется способом передачи данных. Чем слабее сцепление
модуля с другими модулями, тем сильнее его независимость от других моду-
лей.
Рутинность модуля − это его независимость от предыстории обраще-
ний к нему. Модуль будем называть
рутинным, если результат (эффект) об-
ращения к нему зависит только от значений его параметров (и не зависит от
предыстории обращений к нему). Модуль будем называть
зависящим от
предыстории
, если результат (эффект) обращения к нему зависит от внут-
реннего состояния этого модуля, изменяемого в результате предыдущих об-
ращений к нему. Майерс не рекомендует использовать зависящие от пре-
дыстории (непредсказуемые) модули, так как они провоцируют появление в
программах хитрых (неуловимых) ошибок. Однако такая рекомендация явля-
ется неконструктивной, так как во многих случаях именно зависящий от пре-
дыстории модуль является лучшей реализаций информационно прочного мо-
дуля. Поэтому более приемлема следующая (более осторожная) рекоменда-
ция:
− всегда следует использовать рутинный модуль, если это не при-
водит к плохим (не рекомендуемым) сцеплениям модулей;
17
Не всякий программный модуль способствует упрощению программы.
Выделить хороший с этой точки зрения модуль является серьезной творче-
ской задачей. Для оценки приемлемости выделенного модуля используются
некоторые критерии. Так, Хольт предложил следующие два общих критерия:
− хороший модуль снаружи проще, чем внутри;
− хороший модуль проще использовать, чем построить.
Майерс предлагает для оценки приемлемости программного модуля
использовать более конструктивные его характеристики:
− размер модуля;
− прочность модуля;
− сцепление с другими модулями;
− рутинность модуля (независимость от предыстории обращений к
нему).
Размер модуля измеряется числом содержащихся в нем операторов
или строк. Модуль не должен быть слишком маленьким или слишком боль-
шим. Маленькие модули приводят к громоздкой модульной структуре про-
граммы и могут не окупать накладных расходов, связанных с их оформлени-
ем. Большие модули неудобны для изучения и изменений, они могут сущест-
венно увеличить суммарное время повторных трансляций программы при
отладке программы. Обычно рекомендуются программные модули размером
от нескольких десятков до нескольких сотен операторов.
Прочность(связность) модуля − это мера его внутренних связей. Чем
выше прочность модуля, тем больше связей он может спрятать от внешней
по отношению к нему части программы и, следовательно, тем больший вклад
в упрощение программы он может внести.
Сцепление модуля − это мера его зависимости по данным от других
модулей. Характеризуется способом передачи данных. Чем слабее сцепление
модуля с другими модулями, тем сильнее его независимость от других моду-
лей.
Рутинность модуля − это его независимость от предыстории обраще-
ний к нему. Модуль будем называть рутинным, если результат (эффект) об-
ращения к нему зависит только от значений его параметров (и не зависит от
предыстории обращений к нему). Модуль будем называть зависящим от
предыстории, если результат (эффект) обращения к нему зависит от внут-
реннего состояния этого модуля, изменяемого в результате предыдущих об-
ращений к нему. Майерс не рекомендует использовать зависящие от пре-
дыстории (непредсказуемые) модули, так как они провоцируют появление в
программах хитрых (неуловимых) ошибок. Однако такая рекомендация явля-
ется неконструктивной, так как во многих случаях именно зависящий от пре-
дыстории модуль является лучшей реализаций информационно прочного мо-
дуля. Поэтому более приемлема следующая (более осторожная) рекоменда-
ция:
− всегда следует использовать рутинный модуль, если это не при-
водит к плохим (не рекомендуемым) сцеплениям модулей;
17
Страницы
- « первая
- ‹ предыдущая
- …
- 15
- 16
- 17
- 18
- 19
- …
- следующая ›
- последняя »
