Модульное программирование
Материал из Documentation.
Модульное программирование (МП) — технология программирования, основанная на представлении программируемой задачи в виде структуры подзадач, для каждой из которых разрабатывается программный модуль — поименованная программная компонента c заданным интерфейсом. Позволяет эффективно разделить разработку программ между программистами, уменьшить общий размер исходного кода на языке программирования (ЯП) и улучшить его читаемость. Модули программируются, транслируются и отлаживаются раздельно, что позволяет значительно сократить время разработки программы и упростить процесс выявления ошибок. Готовые модули, предназначенные для решения типовых задач (вычислительных, обработки текстов, работы с файлами, сетевого взаимодействия и др.), могут повторно использоваться в др. программах (в том числе написанных на др. ЯП). Широко применяемые модули часто объединяют в библиотеки программ, многие из которых включают в инструментальные системы программирования.[1]
М. п. начинается с проектирования структуры подзадач и интерфейсов модулей. Интерфейс каждого модуля представлен спецификацией данных и/или подпрограмм, предназначенных для использования в др. модулях. Напр., подпрограмма может быть многократно вызвана из разных модулей, что позволяет не повторять идентичные блоки исходного кода. Реализация алгоритмов подпрограмм скрыта внутри модуля и может быть неизвестна разработчикам др. модулей. Если интерфейс модуля неизменен, то изменение его реализации не влечёт за собой изменений др. модулей. Файлы готовых модулей, содержащие исходные коды на ЯП, раздельно обрабатываются транслятором и компонуются в исполняемый код программы.[2]
[править] История
Осн. принципы М. п. сформулировал в 1972 Д. Парнас (Канада) — специалист в области разработки программного обеспечения: для написания одного модуля должно быть достаточно миним. знаний об исходном коде др. модулей (т. н. принцип утаивания); изменение модуля и его повторная трансляция не должны приводить к изменениям и повторной трансляции др. модулей. В кон. 1970-х годов эти принципы были реализованы швейцарским учёным в области информатики Н. Виртом в ЯП модула-2, который был основан на разработанных им же ЯП паскаль и модула. В 1990-х годах стандартом МП стало объектно ориентированное программирование, парадигма которого поддерживается ЯП C++, Java, совр. версиями паскаля, бэйсика и мн. др. В нач. XXI в. М. п. применяется при разработке всех достаточно сложных программ.[3]