- Glavni in pomožni moduli
- Funkcije modularnega programiranja
- Modularnost
- Opredelitev funkcije
- Obseg spremenljivk
- Postopkovno je
- Primeri modularnega programiranja
- Modularnost v resničnem življenju
- Funkcije v Javi
- Prednost
- Neodvisno programiranje projektov
- Učinkovit razvoj programa
- Večkratna uporaba modulov
- Enostavnost odpravljanja napak in sprememb
- Slabosti
- Preveč objektno usmerjena struktura
- Moduli so premajhni
- Razkrojite brez razloga
- Prijave
- C jezik
- Reference
Modularno programiranje je tehnika, ki se uporablja za razvoj programske opreme, kjer je program razdeljen na več manjših blokov ali avtonomnih komponent imenovanih moduli, ki so obvladljive, logična in funkcionalna.
Modul je blok izjav, ki rešuje določeno težavo. Vsak modul vsebuje vse, kar je potrebno za izpolnitev lastne funkcionalnosti in ga je mogoče urejati ali spreminjati, ne da bi to vplivalo na preostali del projekta.
Primer reševanja problema z uporabo modulov. Vir: Kayau / CC BY (https://creativecommons.org/licenses/by/3.0)
Ta način programiranja dosežemo z ohranjanjem stalnega vmesnika modula, ki ga uporabljajo druge komponente programske opreme za dostop do funkcij vsakega modula.
Moduli namestijo logične meje med komponentami, kar izboljša vzdrževanje. Vgrajeni so preko vmesnikov, ki so zasnovani tako, da zmanjšajo odvisnost med različnimi moduli.
Glavni in pomožni moduli
Glavni modul in več sekundarnih modulov sta modularno programiranje. Od glavnega modula se kličejo funkcije pomožnih modulov.
Ti vtičniki obstajajo kot ločene izvršljive datoteke, ki se naložijo, ko se izvaja glavni modul. Vsak modul ima enotno ime, dodeljeno v stavku PROGRAM.
Delovne skupine lahko ločeno razvijejo različne module, ne da bi poznale vse module sistema. Vsaka od modularnih aplikacij je povezana s številko različice, ki razvijalcem zagotavlja prilagodljivost pri vzdrževanju modula.
Funkcije modularnega programiranja
Modularnost
Računalnik ne potrebuje eksplodirane različice kode, da bi jo lahko izvajal. Človeške kognitivne omejitve vas prisilijo, da kode pišete v manjših delih.
Program lahko vsebuje druge funkcije in se lahko sklicuje tudi na funkcije, ki so v drugih datotekah. Te funkcije ali moduli so sklopi stavkov, ki se uporabljajo za izvedbo operacije ali izračunavanje vrednosti.
Za ohranitev enostavnosti in berljivosti v velikih in zapletenih programih se uporablja kratka glavna funkcija v povezavi z drugimi funkcijami in ne dolga glavna funkcija.
Z ločitvijo programa na skupine modulov bo vsak modul lažje razumljiv in s tem skladen z osnovnimi smernicami strukturiranega programiranja.
Opredelitev funkcije
Funkcija je sestavljena iz izjave o njeni definiciji, ki ji sledijo ukazi in stavki. Splošna oblika funkcije je:
Ime funkcije (deklaracija parametra) {
stavki;
ukazi;
povratni izraz;
}
- Izjava parametrov predstavlja informacije, ki se posredujejo funkciji.
- Dodatne spremenljivke, ki jih funkcija posebej uporablja, so opredeljene v stavkih.
- Vse funkcije morajo vsebovati izjavo o vračilu.
Obseg spremenljivk
Spremenljivke, ki so deklarirane v glavni funkciji ali v uporabniško določenih funkcijah, se imenujejo lokalne spremenljivke. Te imajo vrednost, ko se funkcija izvrši, vendar se njihova vrednost ne zadrži, ko se funkcija dokonča.
Spremenljivke, ki so razglašene zunaj glavnega programa ali uporabniško določenih funkcij, se imenujejo globalne spremenljivke. Te spremenljivke je mogoče vzeti iz katere koli funkcije, ki je znotraj programa.
Postopkovno je
Modularno programiranje je precej proceduralno, saj je popolnoma naravnano na pisanje kode za funkcije, ne da bi pri tem upoštevali podatke.
Primeri modularnega programiranja
Modularnost v resničnem življenju
Predpostavimo hišo, ki ima elektriko, z več vtičnicami na stenah. Ta sistem vam omogoča, da priključite različne električne naprave, na primer mikrovalovno pečico, pralni stroj, sušilnik itd.
Te naprave so zasnovane tako, da ob vklopu in vklopu opravljajo svoje posebne naloge, ne glede na to, kje se nahajajo.
Moduli aplikacije morajo slediti isti filozofiji. To pomeni, da morajo opravljati samo svojo določeno nalogo, ne glede na to, v katerem delu aplikacije so ali celo v kateri aplikaciji so povezani.
Prav tako kot je električno napravo mogoče enostavno odklopiti iz vtičnice, mora biti modul zasnovan tako, da ga je mogoče enostavno odstraniti iz aplikacije.
Tako kot odstranjevanje električne naprave ne vpliva na funkcionalnost drugih povezanih naprav, odstranjevanje modulov iz aplikacije ne bi smelo vplivati na funkcionalnost drugih modulov te aplikacije.
Funkcije v Javi
V Java modulih so zapisani kot neodvisne funkcije. Na primer, morda imate funkcijski ali kodni blok za izračun študentskega povprečja na podlagi njihovih ocen v vseh predmetih.
Funkcija mora pridobiti seznam ocen kot vhodne podatke in nato vrniti izračunano povprečje ocene:
Ta funkcija se imenuje CalculateAverageNote. Kot vhodni seznam prejme seznam opomb z nizom podatkov tipa dvojno in vrne izračunano povprečje.
V funkciji se vsota lokalne spremenljivke inicializira na nič, nato pa se z uporabo zanke za zanko dodajo vse kvalifikacije. Na koncu je dobljena vsota deljena s številom opomb, s čimer dobimo dobljeno vrednost.
Če bi imela vhodna matrika opombe 3.5, 3.0 in 4.0, bi jih potem, ko bi jih dodali, seštevala vrednost 10,5 in bi jo potem delili s 3, ker obstajajo tri opombe. Funkcija bi vrnila vrednost 3,5.
Prednost
Neodvisno programiranje projektov
Na istem projektu lahko deluje več programerjev, če je razdeljen na module. Različni programerji lahko samostojno oblikujejo različne programske module, kar je potrebno za velik in zapleten program.
Učinkovit razvoj programa
Programe je mogoče razviti hitreje, saj so majhni samostojni moduli lažje razumljivi, oblikovani in preizkušeni kot veliki programi.
Programer lahko zagotovi potreben vnos in s preverjanjem izhoda preveri, da je modul pravilen.
Večkratna uporaba modulov
Koda, napisana za en program, je pogosto uporabna pri drugih. Modularno programiranje omogoča shranjevanje teh odsekov za nadaljnjo uporabo. Ker se koda premika, se shranjeni moduli lahko povežejo s katerim koli drugim programom, ki ustreza vhodnim in izhodnim zahtevam.
Pri monolitnem programiranju so takšni odseki kode vgrajeni v program in niso na voljo za uporabo v drugih programih.
Enostavnost odpravljanja napak in sprememb
Modul je manjši od celotnega programa, zato ga je lažje preizkusiti. Vsak modul lahko napišete in preizkusite ločeno od preostalega programa. Ko je modul preizkušen, ga je mogoče uporabiti v novem programu, ne da bi ga bilo treba ponovno testirati.
Ko je treba program spremeniti, modularno programiranje poenostavi opravilo. Nove ali odpravljene napake lahko povežete z obstoječim programom, ne da bi spremenili preostali del programa.
Slabosti
Preveč objektno usmerjena struktura
To programiranje uporablja vmesnike, kar je precej učinkovita ideja. Da bi to izkoristili, nekateri okviri prihajajo s celotnim naborom zamenljivih razredov. Na primer za obvladovanje obstojnosti lahko obstaja več razredov, ki izvajajo vmesnik obstojnosti.
Toda integrirana razvojna okolja (IDE) se zaradi tega zmedejo. Na primer, lahko poskusite najti izvor metode, IDE pa ne bo vedel, katero metodo želite videti, in tako prikaže dolg seznam datotek, kjer obstaja metoda s tem imenom.
Moduli so premajhni
Obstaja ogromno modulov, ki vsebujejo le zelo majhno funkcijo. Vsak modul poleg naslova v kodi zahteva dodaten razčlenitev in čas obdelave.
Zato bo uporaba številnih majhnih modulov kompilacijskemu sistemu dodala režijske stroške in povečala velikost paketa.
Razkrojite brez razloga
Nekatere kode se skoraj nikoli ne spremenijo. V teh primerih morda ni veliko smisla, če bi poskušali narediti videz čistejšega ali z abstraktno logiko, če samo njegova uporaba deluje v redu.
Obstajajo kode, ki niso videti preveč lepe, vendar se v zadnjih letih niso kaj dosti spremenile. Ni razloga za razgradnjo kode, ki se ni nikoli spremenila in že dobro deluje v module.
Prijave
Modularno programiranje je le koncept. Njegova praksa se lahko uporablja v katerem koli programskem jeziku, zlasti proceduralnega, ki ima ločeno sestavljen program.
Knjižnice komponent, zgrajene iz ločeno sestavljenih modulov, je mogoče združiti v niz z uporabo programskega orodja, imenovanega povezovalnik.
Imena funkcij v različnih modulih morajo biti edinstvena, da se olajša njihov dostop v primeru, da je treba funkcije, ki jih uporablja glavni modul, izvoziti.
Med programskimi jeziki, ki podpirajo koncept modularnega programiranja, so C, Ada, PL / I, Erlang, Pascal, Algol, COBOL, RPG, Haskell, Python, HyperTalk, IBM / 360 Assembler, MATLAB, Ruby, IBM RPG, SmallTalk, Morpho, Java (paketi se štejejo za module), Perl itd.
C jezik
Modularno programiranje je mogoče uporabiti v jeziku C, saj omogoča odpravo velikih težav z ločitvijo na več modulov.
Vsak od teh modulov rešuje določeno težavo, medtem ko glavni program, ki je nabor takih postopkov, rešuje problem kot celoto.
Vsaka funkcija, definirana v C, je privzeto dostopna po vsem svetu. To je mogoče storiti z vključitvijo glave datoteke, kjer je definirano izvajanje funkcije.
Kot primer želimo razglasiti vrsto podatkov o stacku in tudi, da je izvajanje in struktura podatkov skrita pred uporabniki.
To lahko storite tako, da najprej določite javno datoteko z imenom stack.h, ki bo vsebovala splošne podatke s tipom podatkov sklada in funkcije, ki jih podpira vrsta podatkov sklada.
sklad.h:
zunanji stack_var1;
extern int stack_do_something (void);
Zdaj lahko ustvarite datoteko, imenovano stack.c, ki vsebuje izvedbo podatkovnih vrst skladov:
Reference
- CIO Wiki (2019). Modularno programiranje. Izvedeno iz: cio-wiki.org.
- Definicije IT (2020). Modularno programiranje. Izvedeno iz: defit.org.
- New Mexico Tech (2020). Modularno programiranje s funkcijami. Vzeto iz: ee.nmt.edu.
- Christian Maioli (2020). 3 ustvarjalne tehnike za pisanje modularne kode. Tech Beacon. Vzeto iz: techbeacon.com.
- Geeks za Geeks (2020). Modularni pristop v programiranju. Izvedeno iz: geeksforgeeks.org.
- Študija (2020). Modularno programiranje: definicija in uporaba v Javi. Vzeto iz: study.com.