- Hlavné a pomocné moduly
- Modulárne funkcie programovania
- modularita
- Definícia funkcie
- Rozsah premenných
- Je to procedurálne
- Príklady modulárneho programovania
- Modularita v reálnom živote
- Funkcie v jazyku Java
- výhoda
- Nezávislé programovanie projektu
- Efektívny vývoj programu
- Viacnásobné použitie modulov
- Jednoduché ladenie a úpravy
- nevýhody
- Príliš objektovo orientovaná štruktúra
- Moduly sú príliš malé
- Rozklad sa bez dôvodu
- aplikácia
- Jazyk C.
- Referencie
Modulárny programovanie je technika používaná pre vývoj softvéru, kde je program rozdelený do mnohých malých blokov alebo autonómnych komponentov nazývaných moduly, ktoré sú zvládnuteľné, logické a funkčné.
Modul je blok príkazov, ktorý rieši konkrétny problém. Každý modul obsahuje všetko potrebné na splnenie svojej vlastnej funkčnosti a môže byť upravený alebo upravený bez ovplyvnenia zvyšku projektu.
Príklad riešenia problému s použitím modulov. Zdroj: Kayau / CC BY (https://creativecommons.org/licenses/by/3.0)
Tento spôsob programovania sa dosiahne udržiavaním stáleho rozhrania modulu, ktoré používajú iné softvérové komponenty na prístup k funkciám každého modulu.
Moduly ukladajú logické hranice medzi komponentmi, čo zlepšuje udržiavateľnosť. Sú včlenené prostredníctvom rozhraní, ktoré sú navrhnuté tak, aby sa minimalizovala závislosť medzi rôznymi modulmi.
Hlavné a pomocné moduly
Modulárne programovanie tvorí hlavný modul a niekoľko sekundárnych modulov. Z hlavného modulu sa uskutočňujú hovory na funkcie pomocných modulov.
Tieto doplnky existujú ako samostatné spustiteľné súbory, ktoré sa načítajú pri spustení hlavného modulu. Každý modul má v príkaze PROGRAM priradený jedinečný názov.
Pracovné tímy môžu vyvíjať rôzne moduly osobitne bez toho, aby museli poznať všetky moduly systému. Každá z modulových aplikácií je spojená s číslom verzie, aby sa vývojárom poskytla flexibilita pri údržbe modulu.
Modulárne funkcie programovania
modularita
Počítač na spustenie nepotrebuje explodovanú verziu kódu. Sú to kognitívne obmedzenia človeka, ktoré vás nútia písať kód v menšom množstve.
Program môže obsahovať ďalšie funkcie a môže odkazovať aj na funkcie, ktoré sú v iných súboroch. Tieto funkcie alebo moduly sú množiny príkazov, ktoré sa používajú na vykonanie operácie alebo výpočet hodnoty.
Aby sa zachovala jednoduchosť a čitateľnosť vo veľkých a zložitých programoch, používa sa krátka hlavná funkcia v spojení s inými funkciami namiesto dlhej hlavnej funkcie.
Rozdelením programu do skupín modulov bude každý modul ľahšie zrozumiteľný, čím splní základné pokyny štruktúrovaného programovania.
Definícia funkcie
Funkcia pozostáva z deklarácie jej definície nasledovanej príkazmi a príkazmi. Všeobecná forma funkcie je:
Function_name (vyhlásenie parametra) {
vety;
príkazy;
návratový výraz;
}
- Vyhlásenie o parametroch predstavuje informáciu, ktorá sa odovzdáva funkcii.
- Dodatočné premenné používané konkrétne funkciou sú definované vo vetách.
- Všetky funkcie musia obsahovať príkaz na návrat.
Rozsah premenných
Premenné, ktoré sú deklarované v rámci hlavnej funkcie alebo v užívateľsky definovaných funkciách, sa nazývajú lokálne premenné. Majú hodnotu, keď je funkcia vykonaná, ale ich hodnota sa po dokončení funkcie nezachová.
Premenné, ktoré sú deklarované ako externé voči hlavnému programu alebo používateľom definovaným funkciám, sa nazývajú globálne premenné. Tieto premenné môžu byť prevzaté z akejkoľvek funkcie, ktorá je vo vnútri programu.
Je to procedurálne
Modulárne programovanie je dosť procedurálne, pretože je úplne orientované na písanie kódu pre funkcie bez toho, aby sa brali do úvahy údaje.
Príklady modulárneho programovania
Modularita v reálnom živote
Predpokladajme, že dom, ktorý má elektrinu, má niekoľko zásuviek na stenách. Tento systém umožňuje pripojiť rôzne elektrické zariadenia, napríklad mikrovlnnú rúru, práčku, sušičku atď.
Tieto zariadenia sú navrhnuté tak, aby vykonávali svoju konkrétnu úlohu po pripojení a zapnutí, bez ohľadu na to, kde sa nachádzajú.
Moduly aplikácie sa musia riadiť rovnakou filozofiou. To znamená, že musia vykonávať iba svoju konkrétnu úlohu bez ohľadu na to, v ktorej časti aplikácie sú alebo dokonca s ktorou aplikáciou sú spojené.
Rovnako ako je možné elektrické zariadenie ľahko odpojiť zo zásuvky, musí byť modul navrhnutý tak, aby sa dal ľahko odstrániť z aplikácie.
Rovnako ako odstránenie elektrického zariadenia nemá vplyv na funkčnosť ostatných pripojených zariadení, odstránenie modulov z aplikácie by nemalo mať vplyv na funkčnosť ostatných modulov tejto aplikácie.
Funkcie v jazyku Java
V Java moduloch sú napísané ako nezávislé funkcie. Napríklad by ste mohli mať funkciu alebo blok kódu na výpočet GPA študenta na základe jeho stupňov vo všetkých kurzoch, ktoré navštevovali.
Funkcia musí získať zoznam stupňov ako vstup a potom vrátiť vypočítaný priemer stupňov:
Táto funkcia sa nazýva CalculateA BeverNote. Prijíma ako vstup zoznam poznámok s použitím poľa typu údajov dvojnásobne a vracia vypočítaný priemer.
Vo funkcii sa suma lokálnej premennej inicializuje na nulu a potom pomocou slučky for for sa k súčtu pripočítajú všetky kvalifikácie. Získaná suma sa nakoniec vydelí počtom bankoviek a výsledná hodnota sa vráti.
Keby matica vstupov obsahovala bankovky 3.5, 3.0 a 4.0, po ich pridaní by ich hodnota bola súčtom 10,5 a potom by sa vydelila 3, pretože existujú tri bankovky. Funkcia vráti hodnotu 3.5.
výhoda
Nezávislé programovanie projektu
Na tom istom projekte môže pracovať viac programátorov, ak je rozdelený do modulov. Rôzni programátori môžu nezávisle navrhovať rôzne programové moduly, ktoré sú potrebné pre veľký a komplexný program.
Efektívny vývoj programu
Programy sa môžu vyvíjať rýchlejšie, pretože malé samostatné moduly sa dajú ľahšie pochopiť, navrhnúť a otestovať ako veľké programy.
Programátor môže poskytnúť potrebné vstupy a overiť správnosť modulu preskúmaním jeho výstupu.
Viacnásobné použitie modulov
Kód napísaný pre jeden program je často užitočný v iných programoch. Modulárne programovanie umožňuje tieto sekcie uložiť pre budúce použitie. Pretože je kód premiestniteľný, uložené moduly môžu byť prepojené s akýmkoľvek iným programom, ktorý spĺňa požiadavky na vstup a výstup.
Pri monolitickom programovaní sú takéto časti kódu zabudované do programu a nie sú dostupné na použitie inými programami.
Jednoduché ladenie a úpravy
Modul je menší ako celý program, takže je ľahšie testovať. Každý modul môže byť napísaný a testovaný oddelene od zvyšku programu. Po otestovaní modulu ho môžete použiť v novom programe bez toho, aby ste ho museli znova otestovať.
Keď sa musí program upraviť, modulárne programovanie prácu zjednodušuje. Nové alebo ladené moduly môžu byť prepojené s existujúcim programom bez zmeny zvyšku programu.
nevýhody
Príliš objektovo orientovaná štruktúra
Toto programovanie používa rozhrania, čo je celkom efektívny nápad. Aby sa to využilo, niektoré rámce prichádzajú s úplnou sadou vzájomne zameniteľných tried. Napríklad na zvládnutie perzistencie by mohlo existovať viac tried, ktoré implementujú rozhranie perzistencie.
Integrované vývojové prostredia (IDE) sa však o tom zmätia. Mohli by ste sa napríklad pokúsiť nájsť zdroj metódy a IDE nebude vedieť, ktorú metódu chcete vidieť, čím zobrazíte dlhý zoznam súborov, v ktorých existuje metóda s týmto menom.
Moduly sú príliš malé
Existuje veľa modulov, ktoré obsahujú iba veľmi malú funkciu. Každý modul si okrem nadpisu v kóde vyžaduje dodatočný čas na analýzu a spracovanie.
Preto použitie mnohých malých modulov pridá réžiu do kompilačného systému, čím sa zvýši veľkosť balíka.
Rozklad sa bez dôvodu
Niektoré kódy sa takmer nikdy nezmenia. V týchto prípadoch nemusí mať veľký zmysel snažiť sa, aby to vyzeralo čistejšie alebo s abstraktnou logikou, ak to len funguje dobre.
Existujú kódy, ktoré nevyzerajú príliš pekne, napriek tomu sa v posledných rokoch veľa nezmenili. Neexistuje dôvod na rozklad kódu, ktorý sa nikdy nezmenil a už funguje dobre na moduly.
aplikácia
Modulárne programovanie je iba koncept. Jeho prax sa môže uplatniť v akomkoľvek programovacom jazyku, najmä v tých procedurálnych, ktoré majú osobitne zostavený program.
Knižnice komponentov zostavené zo zvlášť zostavených modulov môžu byť kombinované do sady pomocou programovacieho nástroja zvaného linker.
Názvy funkcií v rôznych moduloch musia byť jedinečné, aby sa uľahčil ich prístup v prípade, že sa musia exportovať funkcie používané hlavným modulom.
Medzi programovacie jazyky, ktoré podporujú koncepciu modulárneho programovania, patria C, Ada, PL / I, Erlang, Pascal, Algol, COBOL, RPG, Haskell, Python, HyperTalk, IBM / 360 Assembler, MATLAB, Ruby, IBM RPG, SmallTalk, Morpho, Java (balíky sa považujú za moduly), Perl atď.
Jazyk C.
Modulárne programovanie sa dá použiť v jazyku C, pretože umožňuje napraviť veľké ťažkosti jeho rozdelením do niekoľkých modulov.
Každý z týchto modulov rieši konkrétny problém, zatiaľ čo hlavný program, ktorým je súbor takýchto postupov, rieši problém ako celok.
Každá funkcia definovaná v C je štandardne dostupná globálne. To sa dá dosiahnuť zahrnutím súboru hlavičky, kde je definovaná implementácia funkcie.
Napríklad chceme deklarovať typ údajov zásobníka a tiež to, že implementácia a štruktúra údajov sú pred používateľmi skryté.
To je možné dosiahnuť tak, že najprv definujete verejný súbor s názvom stack.h, ktorý bude obsahovať všeobecné údaje s typom údajov v zásobníku a funkcie podporované typom údajov v zásobníku.
stack.h:
extern stack_var1;
extern int stack_do_something (neplatné);
Teraz môžete vytvoriť súbor s názvom stack.c, ktorý obsahuje implementáciu typu údajov zásobníka:
Referencie
- CIO Wiki (2019). Modulárne programovanie. Prevzaté z: cio-wiki.org.
- Definície IT (2020). Modulárne programovanie. Prevzaté z: defit.org.
- New Mexico Tech (2020). Modulárne programovanie s funkciami. Prevzaté z: ee.nmt.edu.
- Christian Maioli (2020). 3 kreatívne techniky na písanie modulárneho kódu. Tech maják. Prevzaté z: techbeacon.com.
- Geeks for Geeks (2020). Modulárny prístup v programovaní. Prevzaté z: geeksforgeeks.org.
- Štúdia (2020). Modulárne programovanie: Definícia a aplikácia v jazyku Java. Prevzaté z: study.com.