Funkce modulárního programování, příklady, výhody, aplikace

3764
David Holt
Funkce modulárního programování, příklady, výhody, aplikace

The modulární programování je technika používaná pro vývoj softwaru, kdy je program rozdělen na mnoho komponent nebo malých autonomních bloků zvaných moduly, které jsou spravovatelné, logické a funkční.

Modul je blok příkazů, který řeší konkrétní problém. Každý modul obsahuje vše potřebné pro splnění jeho vlastní funkčnosti a lze jej upravovat nebo upravovat bez ovlivnění zbytku projektu..

Příklad řešení problému pomocí modulů. Zdroj: Kayau / CC BY (https://creativecommons.org/licenses/by/3.0)

Tohoto způsobu programování je dosaženo udržováním stálého rozhraní modulu, které je používáno ostatními součástmi softwaru za účelem přístupu k funkcím každého modulu..

Moduly ukládají logické hranice mezi komponenty a zlepšují tak udržovatelnost. Jsou začleněny prostřednictvím rozhraní, která jsou navržena tak, aby byla minimalizována závislost mezi různými moduly.

Rejstřík článků

  • 1 Hlavní a pomocné moduly
  • 2 Charakteristika modulárního programování
    • 2.1 Modularita
    • 2.2 Definice funkce
    • 2.3 Rozsah proměnných
    • 2.4 Je to procesní
  • 3 Příklady modulárního programování
    • 3.1 Modularita v reálném životě
    • 3.2 Funkce v Javě
  • 4 Výhody
    • 4.1 Nezávislé plánování projektu
    • 4.2 Efektivní vývoj programu
    • 4.3 Více použití modulů
    • 4.4 Snadné ladění a úpravy
  • 5 Nevýhody
    • 5.1 Příliš objektově orientovaná struktura
    • 5.2 Příliš malé moduly
    • 5.3 Rozkládejte se bez důvodu
  • 6 Aplikace
    • 6.1 Jazyk C.
  • 7 Reference

Hlavní a pomocné moduly

Modul programování tvoří hlavní modul a několik sekundárních modulů. Volání funkcí pomocných modulů probíhá z hlavního modulu.

Tyto doplňky existují jako samostatné spustitelné soubory, které se načítají při spuštění hlavního modulu. Každý modul má v instrukci PROGRAM přiřazen jedinečný název.

Pracovní týmy mohou samostatně vyvíjet různé moduly, aniž by musely znát všechny moduly systému. Každá z modulárních aplikací je spojena s číslem verze, aby vývojářům poskytovala flexibilitu při údržbě modulu..

Funkce modulárního programování

Modularita

Počítač ke spuštění nepotřebuje rozbitou verzi kódu. Právě lidská kognitivní omezení vás nutí psát kód po menších částech.

Program může obsahovat další funkce a může také odkazovat na funkce, které jsou v jiných souborech. Tyto funkce nebo moduly jsou sady příkazů, které se používají k provedení operace nebo k výpočtu hodnoty.

Aby se zachovala jednoduchost a čitelnost ve velkých a složitých programech, používá se ve spojení s jinými funkcemi krátká hlavní funkce, nikoli dlouhá hlavní funkce.

Rozdělením programu do skupin modulů bude každý modul snáze srozumitelný a bude tak vyhovovat základním pokynům strukturovaného programování..

Definice funkce

Funkce se skládá z deklarace její definice následované příkazy a příkazy. Obecná forma funkce je:

Název_funkce (deklarace parametru)

věty;

příkazy;

návratový výraz;

- Deklarace parametrů představuje informace, které se předávají funkci.

- Další proměnné používané konkrétně funkcí jsou definovány v příkazech.

- Všechny funkce musí obsahovat návratový příkaz.

Rozsah proměnných

Proměnné, které jsou deklarovány v rámci hlavní funkce nebo v uživatelsky definovaných funkcích, se nazývají místní proměnné. Tyto mají hodnotu při spuštění funkce, ale jejich hodnota není zachována, když je funkce dokončena.

Proměnné, které jsou deklarovány mimo hlavní program nebo funkce definované uživatelem, se nazývají globální proměnné. Tyto proměnné lze převzít z jakékoli funkce nalezené v programu.

Je to procedurální

Modulární programování je poměrně procedurální, protože je zcela zaměřeno na psaní kódu pro funkce, aniž by zohledňovalo data.

Příklady modulárního programování

Modularita v reálném životě

Předpokládejme dům, který má elektřinu, s několika elektrickými zásuvkami na stěnách. Tento systém umožňuje připojit různá elektrická zařízení, například mikrovlnnou troubu, pračku, sušičku atd..

Tato zařízení jsou navržena k provádění jejich konkrétních úkolů po připojení a zapnutí bez ohledu na to, kde jsou umístěna..

Moduly aplikace musí dodržovat stejnou filozofii. To znamená, že musí pouze plnit své konkrétní úkoly bez ohledu na to, v jaké části aplikace jsou, nebo dokonce ke které aplikaci jsou připojeni..

Stejně jako lze elektrické zařízení snadno odpojit od zásuvky, modul musí být navržen tak, aby jej bylo možné snadno odebrat z aplikace..

Stejně jako odebrání elektrického zařízení nemá vliv na funkčnost ostatních připojených zařízení, odebrání modulů z aplikace by nemělo ovlivnit funkčnost ostatních modulů této aplikace..

Funkce v Javě

V Javě jsou moduly psány jako nezávislé funkce. Například můžete mít blok funkce nebo kódu pro výpočet GPA studenta na základě jeho známek ze všech kurzů, které absolvovali..

Funkce potřebuje získat seznam známek jako vstup a poté vrátit vypočítaný průměr známek:

Tato funkce se nazývá CalculateAverageNote. Přijímá jako vstup seznam poznámek pomocí pole datového typu double a vrací vypočítaný průměr.

Ve funkci je lokální proměnná součet inicializována na nulu a poté pomocí smyčky for jsou všechny kvalifikace přidány k součtu. Nakonec se získaný součet vydělí počtem bankovek a vrátí výslednou hodnotu.

Pokud by vstupní matice měla noty 3,5, 3,0 a 4,0, po jejich přidání by měla součet hodnoty 10,5 a poté by byla vydělena 3, protože existují tři noty. Funkce vrátí hodnotu 3,5.

Výhoda

Nezávislé plánování projektu

Na stejném projektu může pracovat více programátorů, pokud je rozdělen do modulů. Různí programátoři mohou samostatně navrhovat různé moduly programu, což je to, co je požadováno pro velký a složitý program.

Efektivní vývoj programu

Programy lze vyvíjet rychleji, protože malé samostatné moduly jsou srozumitelnější, lépe navržitelné a testovatelné než velké programy.

Programátor může poskytnout potřebný vstup a ověřením správnosti modulu ověřit jeho výstup..

Vícenásobné použití modulů

Kód napsaný pro jeden program je často užitečný pro jiné. Modulární programování umožňuje uložení těchto sekcí pro budoucí použití. Protože je kód přemístitelný, lze uložené moduly propojit s jakýmkoli jiným programem, který splňuje požadavky na vstup a výstup..

V případě monolitického programování jsou tyto části kódu vloženy do programu a nejsou k dispozici pro použití jinými programy..

Snadné ladění a úpravy

Modul je menší než celý program, což usnadňuje testování. Každý modul lze zapsat a otestovat samostatně od zbytku programu. Poté, co byl modul otestován, může být použit v novém programu, aniž byste jej museli znovu testovat.

Když musí být program upraven, modulární programování zjednodušuje práci. Nové nebo laděné moduly lze propojit se stávajícím programem, aniž by se zbytek programu měnil.

Nevýhody

Příliš objektově orientovaná struktura

Toto programování používá rozhraní, což je docela efektivní nápad. Aby toho bylo možné využít, některé rámce přicházejí s celou sadou zaměnitelných tříd. Například pro zpracování perzistence může existovat více tříd, které implementují perzistenční rozhraní.

Integrovaná vývojová prostředí (IDE) jsou však z toho zmatená. Můžete se například pokoušet najít zdroj metody a IDE neví, kterou metodu chcete zobrazit, a tak zobrazit dlouhý seznam souborů, kde metoda s tímto názvem existuje..

Moduly jsou příliš malé

Existuje spousta modulů, které obsahují pouze velmi malou funkci. Každý modul vyžaduje kromě své hlavičky v kódu další čas analýzy a zpracování.

Proto použití mnoha malých modulů přidá režii do systému sestavení a zvětší velikost balíčku.

Rozkládejte se bez důvodu

Některé kódy se téměř nikdy nezmění. V těchto případech nemusí mít smysl se snažit, aby to vypadalo čistší nebo s abstraktní logikou, pokud už jen její používání funguje dobře.

Existují kódy, které nevypadají příliš hezky, a přesto se za poslední roky příliš nezměnily. Není důvod rozkládat kód, který se nikdy nezměnil a už funguje dobře..

Aplikace

Modulární programování je jen koncept. Jeho praxi lze uplatnit v jakémkoli programovacím jazyce, zejména v těch procedurálních, které mají samostatně sestavený program.

Knihovny komponent vytvořené ze samostatně sestavených modulů lze kombinovat do sady pomocí programovacího nástroje s názvem linker.

Názvy funkcí v různých modulech musí být jedinečné, aby se usnadnil jejich přístup v případě, že je nutné exportovat funkce používané hlavním modulem..

Mezi programovací jazyky, které podporují koncept modulárního programování, patří C, Ada, PL / I, Erlang, Pascal, Algol, COBOL, RPG, Haskell, Python, HyperTalk, IBM / 360 Assembler, MATLAB, Ruby, IBM RPG, SmallTalk , Morpho, Java (balíčky jsou považovány za moduly), Perl atd..

Jazyk C.

Modulární programování lze aplikovat v jazyce C, protože umožňuje napravit potíže velké velikosti rozdělením do několika modulů.

Každý z těchto modulů řeší určitý problém, zatímco hlavní program, kterým je sada takových postupů, řeší problém jako celek..

Každá funkce definovaná v C je standardně přístupná globálně. To lze provést zahrnutím souboru záhlaví, kde je definována implementace funkce.

Jako příklad chceme deklarovat datový typ zásobníku a také to, že implementace a datová struktura jsou uživatelům skryty.

To lze provést nejprve definováním veřejného souboru s názvem stack.h, který bude obsahovat obecná data s datovým typem zásobníku a funkce podporované datovým typem zásobníku..

stack.h:

extern stack_var1;

extern int stack_do_something (void);

Nyní můžete vytvořit soubor s názvem stack.c, který obsahuje implementaci datového typu zásobníku:

Reference

  1. CIO Wiki (2019). Modulární programování. Převzato z: cio-wiki.org.
  2. Definice IT (2020). Modulární programování. Převzato z: defit.org.
  3. New Mexico Tech (2020). Modulární programování s funkcemi. Převzato z: ee.nmt.edu.
  4. Christian Maioli (2020). 3 kreativní techniky pro psaní modulárního kódu. Tech Beacon. Převzato z: techbeacon.com.
  5. Geeks for Geeks (2020). Modulární přístup v programování. Převzato z: geeksforgeeks.org.
  6. Studie (2020). Modulární programování: Definice a aplikace v Javě. Převzato z: study.com.

Zatím žádné komentáře