- Hoved- og hjelpemoduler
- Modulære programmeringsfunksjoner
- modularitet
- Funksjonsdefinisjon
- Variabelens omfang
- Det er prosessuelle
- Modulære programmeringseksempler
- Modularitet i det virkelige liv
- Funksjoner i Java
- Fordel
- Uavhengig prosjektprogrammering
- Effektiv programutvikling
- Flere bruk av moduler
- Enkel å feilsøke og endre
- ulemper
- Altfor objektorientert struktur
- Moduler for små
- Nedbryt uten grunn
- applikasjoner
- C-språk
- referanser
Den modulære programmeringen er en teknikk som brukes for programvareutvikling, der programmet er delt inn i mange små blokker eller autonome komponenter kalt moduler, som er håndterbare, logiske og funksjonelle.
Modulen er en blokk med uttalelser som løser et bestemt problem. Hver modul inneholder alt nødvendig for å oppfylle sin egen funksjonalitet og kan redigeres eller modifiseres uten å påvirke resten av prosjektet.
Eksempel på å løse et problem ved bruk av moduler. Kilde: Kayau / CC BY (https://creativecommons.org/licenses/by/3.0)
Denne måten å programmere oppnås ved å opprettholde et permanent modulgrensesnitt som brukes av de andre programvarekomponentene for å få tilgang til funksjonene til hver modul.
Moduler pålegger logiske grenser mellom komponenter, noe som forbedrer vedlikeholdbarheten. De er integrert gjennom grensesnitt, som er designet på en slik måte at avhengigheten mellom de forskjellige modulene minimeres.
Hoved- og hjelpemoduler
En hovedmodul og flere sekundærmoduler er det som utgjør den modulære programmeringen. Fra hovedmodulen foretas samtaler til funksjonene til hjelpemodulene.
Disse programtilleggene finnes som separate kjørbare filer, som lastes inn når hovedmodulen kjøres. Hver modul har et unikt navn tildelt i PROGRAM-setningen.
Arbeidsteamene kan utvikle forskjellige moduler hver for seg uten å måtte kjenne til alle modulene i systemet. Hver av de modulære applikasjonene er tilknyttet et versjonsnummer for å gi utviklere fleksibilitet i å vedlikeholde modulen.
Modulære programmeringsfunksjoner
modularitet
En datamaskin trenger ikke en eksplodert versjon av koden for å kunne kjøre den. Det er menneskelige kognitive begrensninger som tvinger deg til å skrive kode i mindre biter.
Et program kan inneholde andre funksjoner og kan også referere til funksjoner som er i andre filer. Disse funksjonene eller modulene er sett med setninger som brukes til å utføre en operasjon eller beregne en verdi.
For å opprettholde enkelhet og lesbarhet i store og komplekse programmer, brukes en kort hovedfunksjon i forbindelse med andre funksjoner, snarere enn en lang hovedfunksjon.
Ved å dele et program i grupper med moduler vil hver modul være enklere å forstå, og dermed overholde de grunnleggende retningslinjene for strukturert programmering.
Funksjonsdefinisjon
En funksjon består av en erklæring om dens definisjon etterfulgt av kommandoer og utsagn. Den generelle formen for en funksjon er:
Funksjonsnavn (parametererklæring) {
setninger;
kommandoer;
returuttrykk;
}
- Erklæringen av parametrene representerer informasjonen som blir gitt til funksjonen.
- Ytterligere variabler brukt spesifikt av funksjonen er definert i setningene.
- Alle funksjoner må ha en returerklæring.
Variabelens omfang
Variabler som er deklarert innenfor hovedfunksjonen eller i brukerdefinerte funksjoner kalles lokale variabler. Disse har en verdi når funksjonen kjøres, men verdien beholdes ikke når funksjonen er fullført.
Variabler som er erklært eksterne til hovedprogrammet eller til brukerdefinerte funksjoner kalles globale variabler. Disse variablene kan tas fra hvilken som helst funksjon som er inne i programmet.
Det er prosessuelle
Modulær programmering er ganske prosessuell, siden den er fullstendig orientert om å skrive kode for funksjoner, uten å ta hensyn til dataene.
Modulære programmeringseksempler
Modularitet i det virkelige liv
Anta at et hus som har strøm, med flere uttak på veggene. Dette systemet lar deg koble til forskjellige elektriske apparater, for eksempel mikrobølgeovn, vaskemaskin, tørketrommel, etc.
Disse enhetene er designet for å utføre sin spesifikke oppgave når de er koblet til og slått på, uavhengig av hvor de befinner seg.
Modulene til en applikasjon må følge den samme filosofien. Dette betyr at de bare må utføre sin spesifikke oppgave uansett hvilken del av applikasjonen de er i, eller til og med hvilken applikasjon de er koblet til.
På samme måte som en elektrisk enhet lett kan kobles fra stikkontakten, må en modul være utformet på en slik måte at den lett kan fjernes fra et program.
Akkurat som å fjerne en elektrisk enhet ikke påvirker funksjonaliteten til de andre tilkoblede enhetene, bør det å fjerne moduler fra et program ikke påvirke funksjonaliteten til de andre modulene i applikasjonen.
Funksjoner i Java
I Java blir moduler skrevet som uavhengige funksjoner. For eksempel kan det hende du har en funksjon eller kodeblokk for å beregne studentens GPA basert på karakterene deres på alle kursene de har tatt.
Funksjonen må hente listen over karakterer som input og deretter returnere det beregnede karaktergjennomsnittet:
Denne funksjonen kalles CalculAverageNote. Den mottar som input en liste over notater, bruker en rekke datatype dobbelt, og returnerer det beregnede gjennomsnittet.
I funksjonen initialiseres den lokale variabelen til null og deretter, ved å bruke en for loop, legges alle kvalifikasjoner til summen. Til slutt blir summen oppnådd delt med antall noter, og returnerer den resulterende verdien.
Hvis inputmatrisen hadde notene 3.5, 3.0 og 4.0, ville den, etter å ha lagt dem til, summen verdien på 10,5 og deretter blitt delt med 3, fordi det er tre notater. Funksjonen vil returnere verdien 3.5.
Fordel
Uavhengig prosjektprogrammering
Flere programmerere kan jobbe med det samme prosjektet hvis det er delt inn i moduler. Ulike programmerere kan uavhengig designe forskjellige programmoduler, som kreves for et stort og sammensatt program.
Effektiv programutvikling
Programmer kan utvikles raskere, da små, frittstående moduler er lettere å forstå, designe og teste enn store programmer.
Programmereren kan gi den nødvendige inngangen og bekrefte at modulen er riktig ved å undersøke dens utgang.
Flere bruk av moduler
Kode skrevet for ett program er ofte nyttig i andre. Modulær programmering gjør at disse seksjonene kan lagres for fremtidig bruk. Siden koden kan flyttes, kan de lagrede modulene kobles til et hvilket som helst annet program som oppfyller inngangs- og utgangskravene.
Med monolitisk programmering er slike kodedeler innebygd i programmet og er ikke tilgjengelige for bruk av andre programmer.
Enkel å feilsøke og endre
En modul er mindre enn et fullstendig program, så det er lettere å teste. Hver modul kan skrives og testes separat fra resten av programmet. Etter at en modul er testet, kan den brukes i et nytt program uten å måtte teste den igjen.
Når et program må modifiseres, forenkler modulær programmering jobben. Nye eller feilsøkte moduler kan kobles til et eksisterende program uten å endre resten av programmet.
ulemper
Altfor objektorientert struktur
Denne programmeringen bruker grensesnitt, som er en ganske effektiv idé. For å dra nytte av det, kommer noen rammer med et komplett sett med utskiftbare klasser. For å håndtere utholdenhet kan det for eksempel være flere klasser som implementerer et utholdenhetsgrensesnitt.
Integrerte utviklingsmiljøer (IDEer) blir imidlertid forvirret over dette. For eksempel kan du prøve å finne kilden til en metode, og IDE vil ikke vite hvilken metode du vil se, og dermed vise en lang liste over filer der en metode med det navnet eksisterer.
Moduler for små
Det er mange moduler som bare inneholder en veldig liten funksjon. Hver modul krever ekstra analysering og behandlingstid, i tillegg til overskriften i kode.
Derfor vil bruk av mange små moduler legge til et overhead i kompilasjonssystemet, og øke pakningsstørrelsen.
Nedbryt uten grunn
Noen koder endres nesten aldri. I disse tilfellene er det ikke så mye fornuftig å prøve å få det til å se renere ut eller med abstrakt logikk, hvis det bare fungerer bra.
Det er koder som ikke ser for pene ut, men de har ikke endret seg mye de siste årene. Det er ingen grunn til å dekomponere kode som aldri har endret seg og som allerede fungerer godt til moduler.
applikasjoner
Modulær programmering er bare et konsept. Dens praksis kan brukes på et hvilket som helst programmeringsspråk, spesielt de av prosessuell art, som har et separat kompilert program.
Komponentbiblioteker bygget fra separate kompilerte moduler kan kombineres til et sett ved hjelp av et programmeringsverktøy som kalles en linker.
Navnene på funksjonene i de forskjellige modulene må være unike for å lette tilgangen i tilfelle funksjonene som brukes av hovedmodulen må eksporteres.
Blant programmeringsspråk som støtter begrepet modulær programmering er C, Ada, PL / I, Erlang, Pascal, Algol, COBOL, RPG, Haskell, Python, HyperTalk, IBM / 360 Assembler, MATLAB, Ruby, IBM RPG, SmallTalk, Morpho, Java (pakker regnes som moduler), Perl, etc.
C-språk
Modulær programmering kan brukes på C-språk fordi det gjør det mulig å avhjelpe store vanskeligheter ved å dele den opp i flere moduler.
Hver av disse modulene løser et bestemt problem, mens hovedprogrammet, som er settet med slike prosedyrer, løser problemet som helhet.
Hver funksjon definert i C er som standard tilgjengelig globalt. Dette kan gjøres ved å inkludere en overskriftsfil, der implementeringen av funksjonen er definert.
Som et eksempel ønsker vi å erklære en stakedatatype og også at implementeringen og datastrukturen er skjult for brukere.
Dette kan gjøres ved først å definere en offentlig fil kalt stack.h, som vil inneholde generiske data med stabeldatatypen og funksjonene som støttes av stabeldatatypen.
stack.h:
ekstern stack_var1;
ekstern int stack_do_something (tom);
Nå kan du opprette en fil som heter stack.c som inneholder implementeringen av stabeldatatypen:
referanser
- CIO Wiki (2019). Modulær programmering. Hentet fra: cio-wiki.org.
- IT-definisjoner (2020). Modulær programmering. Hentet fra: defit.org.
- New Mexico Tech (2020). Modulær programmering med funksjoner. Hentet fra: ee.nmt.edu.
- Christian Maioli (2020). 3 kreative teknikker for å skrive modulær kode. Tech Beacon. Hentet fra: techbeacon.com.
- Geeks for Geeks (2020). Modulær tilnærming i programmering. Hentet fra: geeksforgeeks.org.
- Studie (2020). Modulær programmering: Definisjon og applikasjon i Java. Hentet fra: study.com.