Модульное программирование.

 

Модульное программирование - это организация программы как совокупности небольших независимых блоков, модулей, структура и поведение которых подчиняется определенным правилам. Следует заметить, что понятие «модуль» не совпадает в данном случае с понятием «модуль» (unit в смысле «библиотека») языка Паскаль. Это должна быть простая, замкнутая (независимая) программная единица (процедура или функция), обозримая, реализующая только одну функцию. Для написания одного модуля должно быть достаточно минимальных знаний о тексте других, как вызывающих, так и вызываемых.

Программа, разработанная в соответствии с принципами структурного программирования, должна удовлетворять следующим требованиям:

· программа должна разделяться на независимые части, называемые модулями;

 

· модуль - это независимый блок, код (текст) которого физически и логически отделен от кода других модулей;

 

· модуль выполняет только одну логическую функцию, иначе говоря, должен решать самостоятельную задачу своего уровня по принципу: один программный модуль - одна функция;

 

· работа программного модуля не должна зависеть:

Þ от входных данных;

Þ от того, какому программному модулю предназначены его выходные данные;

Þ от предыстории вызовов программного модуля;

 

· размер программного модуля желательно ограничивать одной-двумя страницами исходного листинга (50-100 строк исходного кода);

 

· модуль должен иметь только одну входную и одну выходную точку;

 

· взаимосвязи между модулями устанавливаются по иерархической структуре;

 

· каждый модуль должен начинаться с комментария, объясняющего его назначение, назначение переменных, передаваемых в модуль и из него, модулей, которые его вызывают, и модулей, которые вызываются из него;

 

· при создании модуля можно использовать только стандартные управляющие конструкции: выбор, цикл, блок (последовательность операторов);

 

· оператор безусловного перехода или вообще не используется в модуле, или применяется в исключительных случаях только для перехода на выходную точку модуля;

 

· в тексте модуля необходимо использовать комментарии, в особенности в сложных местах алгоритма;

 

· идентификаторы переменных и модулей должны быть смысловыми, «говорящими»;

 

· в одной строке стоит записывать не более одного оператора. Если для записи оператора требуется больше, чем одна строка, то все последующие операторы записываются с отступами;

 

· желательно не допускать вложенности операторов IF более, чем трех уровней;

 

· следует избегать использования языковых конструкций с неочевидной семантикой и программистских «трюков».

 

В заключение следует напомнить, что все эти вместе взятые меры направлены на повышение качества разрабатываемого программного обеспечения.