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

Модульне програмування працює за принципом «розділяй і володарюй». Варто розібратися.

Модульне програмування увазі організацію програми як сукупності незалежних блоків невеликих розмірів, які прийнято називати модулями, поведінку і структура яких повністю підпорядковані цілком певним принципам. Варто розділити застосування поняття «модуль», коли зважаючи мається синтаксична одиниця мови програмування і коли йдеться про одиницю дроблення великої програми на кілька блоків, які можуть бути реалізовані як у вигляді процедур, так і в вигляді функцій. Застосування модульного програмування дає можливість спростити тестування програми і своєчасне виявлення помилок. Можна строго відокремити апаратно-залежні завдання від інших підзадач, що дозволить поліпшити мобільність створюваних програм. Критичні за часом модулі можна переробляти окремо, що помітно спрощує процес і робить ефективність набагато вище. Крім цього модульне програмування набагато простіше розуміти, так як модулі можуть бути ефективно використані в якості будівельних блоків в інших програмах.



Сам термін «модуль» почав використовуватися в програмуванні у зв`язку з впровадженням модульного принципу при написанні програм. У сімдесятих роках модулем називали якусь функцію або процедуру, яка була написана за певними правилами. Так як на той момент не було сформовано загальновизнаних вимог, то модулем називали будь-яку процедуру, чий розмір становив до п`ятдесяти рядків. Парнасом були сформовані перші конкретизовані вимоги до модуля: «Для формування одного модуля має бути достатньо самих мінімальних знань про зміст іншого». Виходить, саме Парнас вперше сформував концепцію приховування інформації в програмуванні. Його визначення приводить нас до того, що модулем може називатися будь-яка окрема процедура як самого нижнього, так і самого верхнього рівня ієрархії. Надійно приховування інформації не можна було забезпечити за допомогою використання конструкцій, існуючих в той час, так як вони було піддаються сильному дії глобальних змінних, а їх поведінка в складних програмах передбачити вельми складно. Необхідно було створити конструкцію, ізольовану від цих змінних. Саме її і назвали модулем, а на його основі і зародилося модульне програмування.



Спочатку передбачалося, що реалізація складних програмних комплексів може бути здійснена при використанні модуля нарівні з функціями і процедурами в якості конструкції, що об`єднує і що приховує деталі реалізації якоїсь конкретної підзадачі. Але в мові Turbo Pascal не був повністю реалізований модульний принцип програмування. У цій мові повністю відсутня підтримка внутрішніх модулів, імпорт реалізований недостатньо гнучко, оскільки не дозволяє здійснювати імпорт об`єктів з якихось інших модулів. Спільне вплив цієї обставини з тим, що з поширенням персональних комп`ютерів істотно розширилося коло програмують людей, що знизило середній рівень теоретичної підготовленості, призвело до того, що при розробці додатків модулі застосовувалися як засобів створення проблемних бібліотек функцій і процедур. Лише кваліфікованими програмістами застосовувалася вся міць даної мовної конструкції для операцій зі структурування всіх об`єктів.

Якщо дивитися на модулі Pascal з точки зору програміста, то їх кількість повинна визначатися за допомогою декомпозиції поставленої задачі на ряд підзадач, незалежних один від одного. У граничному випадку модуль може бути використаний для укладення в нього тільки однієї процедури, якщо потрібно, щоб локальна дія, яке їй виконується, було повністю незалежним від впливу інших частин програми при змінах, внесених в код проекту.




» » Модульне програмування