- Galvenie un papildu moduļi
- Modulārās programmēšanas funkcijas
- Modulārums
- Funkcijas definīcija
- Mainīgo lielums
- Tas ir procesuāls
- Modulārās programmēšanas piemēri
- Modulārība reālajā dzīvē
- Funkcijas Java
- Priekšrocība
- Patstāvīga projektu plānošana
- Efektīva programmas izstrāde
- Vairāku moduļu izmantošana
- Atkļūdošanas un modifikācijas vienkāršība
- Trūkumi
- Pārāk objektorientēta struktūra
- Pārāk mazi moduļi
- Sadalās bez iemesla
- Lietojumprogrammas
- C valoda
- Atsauces
Modulārā programmēšana ir tehnika, ko izmanto programmatūras izstrādē, kur programma tiek sadalīts daudzos mazos blokos vai autonomo sastāvdaļu sauc moduļus, kas ir pārvaldāmi, loģiski un funkcionāls.
Modulis ir paziņojumu bloks, kas atrisina noteiktu problēmu. Katrā modulī ir viss nepieciešamais, lai izpildītu savu funkcionalitāti, un to var rediģēt vai modificēt, neietekmējot pārējo projekta daļu.
Problēmas risināšanas piemērs, izmantojot moduļus. Avots: Kayau / CC BY (https://creativecommons.org/licenses/by/3.0)
Šis programmēšanas veids tiek panākts, uzturot pastāvīgu moduļa saskarni, kuru izmanto citi programmatūras komponenti, lai piekļūtu katra moduļa funkcijām.
Moduļi uzliek loģiskas robežas starp komponentiem, uzlabojot apkopi. Tie ir iestrādāti ar saskarnēm, kas ir izveidotas tā, lai samazinātu atkarību starp dažādiem moduļiem.
Galvenie un papildu moduļi
Modulāro programmēšanu veido galvenais modulis un vairāki sekundārie moduļi. Sākot no galvenā moduļa, tiek veikti zvani uz papildmoduļu funkcijām.
Šie spraudņi pastāv kā atsevišķi izpildāmi faili, kas tiek ielādēti, kad darbojas galvenais modulis. Katram modulim ir unikāls nosaukums, kas piešķirts PROGRAM paziņojumā.
Darba grupas var izstrādāt dažādus moduļus atsevišķi, nezinot visus sistēmas moduļus. Katra no modulārajām lietojumprogrammām ir saistīta ar versijas numuru, lai izstrādātājiem nodrošinātu elastīgumu moduļa uzturēšanā.
Modulārās programmēšanas funkcijas
Modulārums
Datoram nav nepieciešama eksplodēta koda versija, lai to darbinātu. Cilvēka izziņas ierobežojumi liek rakstīt kodu mazākos gabalos.
Programma var saturēt citas funkcijas, kā arī var atsaukties uz funkcijām, kas atrodas citos failos. Šīs funkcijas vai moduļi ir paziņojumu kopas, kuras izmanto operācijas veikšanai vai vērtības aprēķināšanai.
Lai saglabātu vienkāršību un lasāmību lielās un sarežģītās programmās, kopā ar citām funkcijām tiek izmantota īsa galvenā funkcija, nevis gara galvenā funkcija.
Sadalot programmu moduļu grupās, katrs modulis būs vieglāk saprotams, tādējādi ievērojot strukturētās programmēšanas pamatnostādnes.
Funkcijas definīcija
Funkcija sastāv no tās definīcijas deklarācijas, kurai seko komandas un paziņojumi. Funkcijas vispārīgā forma ir:
Funkcijas_nosaukums (parametru deklarācija) {
teikumi;
komandas;
atgriešanās izteiksme;
}
- Parametru deklarācija atspoguļo informāciju, kas tiek nodota funkcijai.
- teikumos ir definēti papildu mainīgie, kurus īpaši izmanto funkcija.
- Visās funkcijās jāiekļauj atgriešanās paziņojums.
Mainīgo lielums
Mainīgos, kas tiek deklarēti galvenajā funkcijā vai lietotāja definētajās funkcijās, sauc par vietējiem mainīgajiem. Tiem ir vērtība, kad funkcija tiek izpildīta, bet to vērtība netiek saglabāta, kad funkcija tiek pabeigta.
Mainīgos, kas tiek deklarēti kā ārpus galvenās programmas vai lietotāja definētām funkcijām, sauc par globālajiem mainīgajiem. Šos mainīgos var ņemt no jebkuras funkcijas, kas atrodas programmā.
Tas ir procesuāls
Modulārā programmēšana ir diezgan procesuāla, jo tā ir pilnībā orientēta uz funkciju koda rakstīšanu, neņemot vērā datus.
Modulārās programmēšanas piemēri
Modulārība reālajā dzīvē
Pieņemsim, ka mājā, kurā ir elektrība, ar vairākām izejām uz sienām. Šī sistēma ļauj pieslēgt dažādas elektriskās ierīces, piemēram, mikroviļņu krāsni, veļas mašīnu, žāvētāju utt.
Šīs ierīces ir paredzētas, lai veiktu specifisko uzdevumu, kad tās ir pievienotas un ieslēgtas neatkarīgi no to atrašanās vietas.
Lietojumprogrammas moduļiem ir jāievēro šī pati filozofija. Tas nozīmē, ka viņiem ir jāveic tikai savs konkrētais uzdevums neatkarīgi no tā, kurā lietojumprogrammas daļā viņi atrodas vai pat ar kuru programmu viņi ir saistīti.
Tāpat kā elektrisko ierīci var viegli atvienot no kontaktligzdas, modulis jāprojektē tā, lai to varētu viegli noņemt no lietojumprogrammas.
Tāpat kā elektriskas ierīces noņemšana neietekmē citu pievienoto ierīču funkcionalitāti, moduļu noņemšana no lietojumprogrammas nedrīkst ietekmēt citas šīs programmas moduļus.
Funkcijas Java
Java moduļos tiek rakstītas kā neatkarīgas funkcijas. Piemēram, jums varētu būt funkcija vai koda bloks, lai aprēķinātu studenta GPA, pamatojoties uz viņa atzīmēm visos viņu apmeklētajos kursos.
Funkcijai jāiegūst atzīmju saraksts kā ievade un pēc tam jāatdod aprēķinātais atzīmju vidējais vērtējums:
Šo funkciju sauc par CalculateAverageNote. Tā kā ievade saņem piezīmju sarakstu, izmantojot dubultā datu tipa masīvu, un atgriež aprēķināto vidējo.
Funkcijā lokālā mainīgā summa tiek inicializēta līdz nullei un pēc tam, izmantojot cilpu for, visas kvalifikācijas tiek summētas. Visbeidzot iegūto summu dala ar banknošu skaitu, atgriežot iegūto vērtību.
Ja ievades matricai būtu piezīmes 3.5, 3.0 un 4.0, pēc to pievienošanas tai būtu summa 10,5, un tad to dalītu ar 3, jo ir trīs piezīmes. Funkcija atgrieztu vērtību 3.5.
Priekšrocība
Patstāvīga projektu plānošana
Vairāki programmētāji var strādāt pie viena projekta, ja tas ir sadalīts moduļos. Dažādi programmētāji var patstāvīgi noformēt dažādus programmas moduļus, kas nepieciešami lielai un sarežģītai programmai.
Efektīva programmas izstrāde
Programmas var izstrādāt ātrāk, jo mazos, patstāvīgos moduļus ir vieglāk saprast, noformēt un pārbaudīt nekā lielās programmas.
Programmētājs var sniegt nepieciešamo ievadi un pārbaudīt, vai modulis ir pareizs, pārbaudot tā izvadi.
Vairāku moduļu izmantošana
Vienai programmai rakstīts kods bieži ir noderīgs citās. Modulārā programmēšana ļauj šīs sadaļas saglabāt turpmākai lietošanai. Tā kā kods ir pārvietojams, saglabātos moduļus var saistīt ar jebkuru citu programmu, kas atbilst ievades un izvades prasībām.
Izmantojot monolītu programmēšanu, šādas koda sadaļas ir iestrādātas programmā un nav pieejamas citām programmām.
Atkļūdošanas un modifikācijas vienkāršība
Modulis ir mazāks nekā pilna programma, tāpēc to ir vieglāk pārbaudīt. Katru moduli var rakstīt un pārbaudīt atsevišķi no pārējās programmas. Pēc moduļa testēšanas to var izmantot jaunā programmā, vēlreiz to nepārbaudot.
Kad programma ir jāmaina, modulārā programmēšana vienkāršo darbu. Jaunus vai atkļūdotus moduļus var piesaistīt esošai programmai, nemainot pārējo programmu.
Trūkumi
Pārāk objektorientēta struktūra
Šajā programmēšanā tiek izmantotas saskarnes, kas ir diezgan efektīva ideja. Lai to izmantotu, dažām sistēmām ir pilns maināmo klašu komplekts. Piemēram, lai apstrādātu noturību, var būt vairākas klases, kas ievieš noturības saskarni.
Tomēr integrētās izstrādes vides (IDE) par to mulsina. Piemēram, jūs varētu mēģināt atrast metodes avotu, un IDE nezina, kuru metodi vēlaties redzēt, tādējādi parādot garu failu sarakstu, kur pastāv metode ar šādu nosaukumu.
Pārāk mazi moduļi
Ir daudz moduļu, kas satur tikai ļoti mazu funkciju. Katram modulim ir nepieciešams papildu parsēšanas un apstrādes laiks papildus tā virsrakstam kodā.
Tāpēc, izmantojot daudzus mazus moduļus, kompilācijas sistēmai tiks pievienota pieskaitāmā cena, palielinot paketes lielumu.
Sadalās bez iemesla
Daži kodi gandrīz nekad nemainās. Šādos gadījumos nav daudz jēgas mēģināt padarīt to tīrāku vai ar abstraktu loģiku, ja tikai tā lietošana darbojas labi.
Ir kodi, kas neizskatās pārāk jauki, tomēr pēdējos gados tie nav daudz mainījušies. Nav iemesla sadalīt kodu, kas nekad nav mainījies un jau labi darbojas moduļos.
Lietojumprogrammas
Modulārā programmēšana ir tikai koncepcija. Tās praksi var izmantot jebkurā programmēšanas valodā, it īpaši procesuālā rakstura valodās, kurām ir atsevišķi sastādīta programma.
Komponentu bibliotēkas, kas veidotas no atsevišķi apkopotiem moduļiem, var apvienot komplektā, izmantojot programmēšanas rīku, ko sauc par linkeru.
Dažādu moduļu funkciju nosaukumiem jābūt unikāliem, lai atvieglotu piekļuvi tiem, ja galvenā moduļa izmantotās funkcijas ir jāeksportē.
Starp programmēšanas valodām, kas atbalsta modulāras programmēšanas koncepciju, ir C, Ada, PL / I, Erlang, Pascal, Algol, COBOL, RPG, Haskell, Python, HyperTalk, IBM / 360 Assembler, MATLAB, Ruby, IBM RPG, SmallTalk, Morpho, Java (paketes tiek uzskatītas par moduļiem), Perl utt.
C valoda
Modulāro programmēšanu var izmantot C valodā, jo tā ļauj novērst lielas grūtības, sadalot to vairākos moduļos.
Katrs no šiem moduļiem atrisina noteiktu problēmu, savukārt galvenā programma, kas ir šādu procedūru kopums, problēmu atrisina kopumā.
Katra C definētā funkcija pēc noklusējuma ir pieejama visā pasaulē. To var izdarīt, iekļaujot galvenes failu, kur ir definēta funkcijas ieviešana.
Kā piemēru mēs vēlamies deklarēt kaudzes datu tipu, kā arī paslēpt ieviešanu un datu struktūru no lietotājiem.
To var izdarīt, vispirms definējot publisku failu ar nosaukumu stack.h, kurā būs vispārīgi dati ar skursteņa datu tipu un funkcijām, ko atbalsta skursteņa datu tips.
stack.h:
ārējais kaudze_var1;
extern int stack_do_something (spēkā neesošs);
Tagad jūs varat izveidot failu ar nosaukumu stack.c, kurā ir apkopota datu veida ieviešana:
Atsauces
- CIO Wiki (2019). Modulārā programmēšana. Paņemts no: cio-wiki.org.
- IT definīcijas (2020). Modulārā programmēšana. Paņemts no: defit.org.
- New Mexico Tech (2020). Modulārā programmēšana ar funkcijām. Ņemts no: ee.nmt.edu.
- Kristians Maioli (2020). 3 radošas tehnikas moduļu koda rakstīšanai. Tehniskais bāksignāls. Paņemts no: techbeacon.com.
- Geeks par Geeksu (2020). Modulārā pieeja programmēšanā. Iegūts no: geeksforgeeks.org.
- Pētījums (2020). Modulārā programmēšana: definīcija un pielietojums Java. Paņemts no: study.com.