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