- Основні та допоміжні модулі
- Модульні функції програмування
- Модульність
- Визначення функції
- Обсяг змінних
- Це процедурно
- Приклади модульного програмування
- Модульність у реальному житті
- Функції на Java
- Перевага
- Самостійне програмування проектів
- Ефективна розробка програми
- Багаторазове використання модулів
- Простота налагодження та модифікації
- Недоліки
- Надмірно об'єктно-орієнтована структура
- Модулі занадто малі
- Розкладіть без причини
- Програми
- Мова С
- Список літератури
Модульне програмування є методом , використовуваним для розробки програмного забезпечення, в якому програма розбивається на безліч дрібних блоків або автономні компоненти , які називаються модулями, які є керованими, логічними і функціональними.
Модуль - це блок тверджень, який вирішує конкретну проблему. Кожен модуль містить усе необхідне для виконання власних функціональних можливостей і його можна редагувати чи змінювати, не впливаючи на решту проекту.
Приклад вирішення проблеми за допомогою модулів. Джерело: Kayau / CC BY (https://creativecommons.org/licenses/by/3.0)
Цей спосіб програмування досягається підтримкою постійного інтерфейсу модуля, який використовується іншими компонентами програмного забезпечення для доступу до функцій кожного модуля.
Модулі накладають логічні межі між компонентами, покращуючи ремонтопридатність. Вони вбудовані через інтерфейси, розроблені таким чином, щоб мінімізувати залежність між різними модулями.
Основні та допоміжні модулі
Основний модуль і кілька вторинних модулів - це те, що складає модульне програмування. З основного модуля здійснюються дзвінки до функцій допоміжних модулів.
Ці плагіни існують як окремі виконувані файли, які завантажуються під час роботи основного модуля. Кожен модуль має унікальне ім'я, присвоєне оператору PROGRAM.
Робочі групи можуть розробляти різні модулі окремо, не знаючи всіх модулів системи. Кожне з модульних додатків пов'язане з номером версії, щоб забезпечити гнучкість розробникам у підтримці модуля.
Модульні функції програмування
Модульність
Комп'ютеру не потрібна підірвана версія коду для його запуску. Саме когнітивні обмеження людини змушують писати код меншими шматками.
Програма може містити інші функції, а також може посилатися на функції, які є в інших файлах. Ці функції або модулі - це набори операторів, які використовуються для виконання операції або обчислення значення.
Для підтримки простоти та читабельності у великих та складних програмах використовується коротка основна функція у поєднанні з іншими функціями, а не довга основна функція.
Розділяючи програму на групи модулів, кожен модуль буде простіше зрозуміти, таким чином, дотримуючись основних вказівок структурованого програмування.
Визначення функції
Функція складається з заяви про її визначення з подальшими командами та операторами. Загальна форма функції:
Назва функції (оголошення параметра) {
речення;
команди;
зворотний вираз;
}
- Декларація параметрів представляє інформацію, яка передається функції.
- Додаткові змінні, які спеціально використовуються функцією, визначаються у реченнях.
- Усі функції повинні включати оператор повернення.
Обсяг змінних
Змінні, які оголошуються в межах основної функції або у визначених користувачем функціях, називаються локальними змінними. Вони мають значення при виконанні функції, але їх значення не зберігається, коли функція завершується.
Змінні, оголошені зовнішніми для основної програми або визначених користувачем функцій, називаються глобальними змінними. Ці змінні можна взяти з будь-якої функції, яка знаходиться всередині програми.
Це процедурно
Модульне програмування є досить процедурним, оскільки повністю орієнтоване на написання коду для функцій, без урахування даних.
Приклади модульного програмування
Модульність у реальному житті
Припустимо, будинок, який має електрику, з кількома розетками на стінах. Ця система дозволяє підключати різні електричні пристрої, наприклад, мікрохвильову піч, пральну машину, сушарку тощо.
Ці пристрої призначені для виконання конкретного завдання під час підключення та включення, незалежно від місця їх знаходження.
Модулі програми повинні відповідати цій самій філософії. Це означає, що вони повинні виконувати лише своє конкретне завдання, незалежно від того, до якої програми вони перебувають, або навіть до якої програми вони підключені.
Крім того, як електричний пристрій можна легко відключити від розетки, модуль повинен бути розроблений таким чином, щоб його можна було легко вийняти з програми.
Так само як видалення електричного пристрою не впливає на функціональність інших підключених пристроїв, видалення модулів із програми не повинно впливати на функціональність інших модулів цієї програми.
Функції на Java
На Java модулі записуються як самостійні функції. Наприклад, у вас може бути функція або блок коду, щоб обчислити середній бал студентів на основі їх оцінок у всіх курсах, які вони пройшли.
Функція повинна отримати список оцінок як вхідні, а потім повернути обчислене середнє значення:
Ця функція називається CalculateAverageNote. Він отримує в якості списку приміток, використовуючи масив типу даних подвійний, і повертає обчислене середнє.
У функції локальна змінна сума ініціалізується до нуля, а потім, використовуючи цикл for, всі кваліфікації додаються до суми. Нарешті, отримана сума ділиться на кількість приміток, повертаючи отримане значення.
Якщо матриця введення мала примітки 3.5, 3.0 та 4.0, після їх додавання вона мала б суму 10,5 і тоді вона ділиться на 3, оскільки є три ноти. Функція повертає значення 3,5.
Перевага
Самостійне програмування проектів
Кілька програмістів можуть працювати над одним проектом, якщо він розділений на модулі. Різні програмісти можуть самостійно розробляти різні програмні модулі, що потрібно для великої і складної програми.
Ефективна розробка програми
Програми можна розробити швидше, оскільки невеликі автономні модулі легше зрозуміти, спроектувати та перевірити, ніж великі програми.
Програміст може надати необхідний ввід і перевірити правильність модуля, вивчивши його вихід.
Багаторазове використання модулів
Код, написаний для однієї програми, часто корисний для інших. Модульне програмування дозволяє зберегти ці розділи для подальшого використання. Оскільки код переміщується, збережені модулі можуть бути пов'язані з будь-якою іншою програмою, яка відповідає вимогам введення та виводу.
При монолітному програмуванні такі розділи коду вбудовані в програму і не доступні для використання іншими програмами.
Простота налагодження та модифікації
Модуль менший, ніж повна програма, тому його легше протестувати. Кожен модуль може бути записаний та протестований окремо від решти програми. Після тестування модуля його можна використовувати в новій програмі без необхідності повторного тестування.
Коли програма повинна бути змінена, модульне програмування спрощує завдання. Нові або налагоджені модулі можуть бути пов'язані з існуючою програмою без зміни решти програми.
Недоліки
Надмірно об'єктно-орієнтована структура
Це програмування використовує інтерфейси, що є досить ефективною ідеєю. Щоб скористатися цим, деякі рамки оснащені повним набором взаємозамінних класів. Наприклад, для обробки стійкості може бути кілька класів, які реалізують інтерфейс стійкості.
Однак інтегровані середовища розробки (IDE) заплутуються з цього приводу. Наприклад, ви можете намагатися знайти джерело методу, і IDE не буде знати, який метод ви хочете бачити, тим самим відображаючи довгий список файлів, де існує метод з таким ім'ям.
Модулі занадто малі
Існує маса модулів, які містять лише дуже маленьку функцію. Кожен модуль вимагає додаткового розбору та часу обробки, крім заголовка в коді.
Тому використання багатьох невеликих модулів додасть накладні витрати до системи компіляції, збільшивши розмір пакета.
Розкладіть без причини
Деякі коди майже ніколи не змінюються. У цих випадках може не мати особливого сенсу намагатися зробити його більш чистим або з абстрактною логікою, якщо просто його використання працює добре.
Є коди, які виглядають не надто красиво, але вони не сильно змінилися за останні роки. Немає підстав для розкладання коду, який ніколи не змінювався і вже добре працює в модулі.
Програми
Модульне програмування - лише концепція. Його практика може застосовуватися в будь-якій мові програмування, особливо в процедурному характері, які мають окремо складену програму.
Бібліотеки компонентів, побудовані з окремо складених модулів, можуть бути об'єднані в набір, використовуючи інструмент програмування, який називається лінкер.
Назви функцій у різних модулях повинні бути унікальними для полегшення їх доступу у випадку, якщо функції, що використовуються головним модулем, повинні бути експортовані.
Серед мов програмування, які підтримують концепцію модульного програмування, є C, Ada, PL / I, Erlang, Pascal, Algol, COBOL, RPG, Haskell, Python, HyperTalk, IBM / 360 Assembler, MATLAB, Ruby, IBM RPG, SmallTalk, Morpho, Java (пакети вважаються модулями), Perl тощо.
Мова С
Модульне програмування можна застосувати мовою C, оскільки це дозволяє виправити великі труднощі, розділивши його на кілька модулів.
Кожен з цих модулів вирішує конкретну проблему, тоді як основна програма, що представляє собою сукупність таких процедур, вирішує проблему в цілому.
Кожна функція, визначена в C, за замовчуванням доступна у всьому світі. Це можна зробити, включивши файл заголовка, де визначено реалізацію функції.
Як приклад, ми хочемо оголосити тип даних стека, а також те, що реалізація та структура даних приховані від користувачів.
Це можна зробити, попередньо визначивши загальнодоступний файл під назвою stack.h, який буде містити загальні дані з типом даних стека та функції, підтримувані типом даних стека.
stack.h:
зовнішній stack_var1;
extern int stack_do_something (пустота);
Тепер ви можете створити файл під назвою stack.c, який містить реалізацію типу даних стека:
Список літератури
- CIO Wiki (2019). Модульне програмування. Взято з: cio-wiki.org.
- Визначення ІТ (2020). Модульне програмування. Взято з: defit.org.
- New Mexico Tech (2020). Модульне програмування з функціями. Взято з: ee.nmt.edu.
- Крістіан Майолі (2020). 3 творчі прийоми написання модульного коду. Tech Beacon. Взято з: techbeacon.com.
- Geeks for Geeks (2020). Модульний підхід у програмуванні. Взято з: geeksforgeeks.org.
- Дослідження (2020). Модульне програмування: визначення та застосування на Java. Взято з: study.com.