Proč se člení program na podprogramy?
Fórum › Pascal
Důvody členění programu na menší části (podprogramy)
Aby se v tom dalo vyznat - většina programů má kapánek víc než 100 řádek kódu, využití podprogramů na více místech, ... toho je: http://en.wikipedia.org/wiki/Subroutine
hlavne jsou vyhodne, kdyz se kusy kodu opakuji.. neni nic horsiho, nez mit kousek kodu na 1000 mistech, a pak hle, drobna chybka (a dejme tomu ze zacatecnik neumi pouzit neco, co by to nahradilo, nebo jeste lepsi verze - nejde to nahradit tak, aby to nepokazilo jine casti kodu :D)
taktez pokud clovek odsazuje, tak bez podprogramu by mel zachvili odsazeno o 200mezer, bylo by to uz 2x mimo obrazovku a tak...
Dane - Treba proto, ze mam program, co ma v souboru asi 30.000 radku kodu?
Treba knihovna jquery, ktera dela takovy ty pekne efekty na strankach, ma kolem 90k textu, 10.000 radku. Tam se dela takova vec, ze se to uplne prepisuje programem na mene znaku
http://code.jquery.com/jquery-2.1.1.js (90k)
http://code.jquery.com/…2.1.0.min.js (33k)
A taky se to muze gzipovat.
#1 Dane
Setkal jsem se s aplikací v PHP, která měla asi 50k řádek, Byla docela rychlá, ale občas se zadrhla kvůli pomalosti kompilace. Rozdělení do menších bloků ji výrazně zrychlilo.
Těch důvodů je hodně a na většinu si každý přijde časem sám, když je nucen napsat něco většího než Hello world nebo krátký domácí úkol do školy. Velký program se rozdělí na menší kusy, z nich každý řeší ucelenou sadu problémů. Jeden kus může vytisknout dokument na tiskárnu, jeden kus vypočte daně, jeden kus umí vykreslit graf... No a pak ty kusy můžeš vzít a vzájemně použít (vypočtu daně, výsledek vykreslím do grafu v dokumentu a dokument pošlu na tiskárnu). Výhody jsou např.:
Dělba práce - na každém kusu kódu může samostatně pracovat programátor a nijak si nepřekáží s ostatními, protože pracují na nezávislých kusech.
Testování - samozřejmě se lépe testuje každá část samostatně, než celek propletený závislostmi. Dejme tomu že potřebuji vyvíjet a testovat tisk. To se snadno udělá, když mám samostatnou část kódu pro tisk. Horší by bylo, kdybych kvůli tisku musel napřed počítat daně a dělat z nich graf - každá z těchto částí může být ještě nehotová nebo obsahovat chyby, které mi budou při tisku překážet a celý vývoj se tím zdržuje.
Údržba - lépe se opravuje malá část než celek. Jsou blbě čísla? Jdu do té části daní. Mám moc malé písmo v grafech? Jdu do té části pro kreslení grafu. Je to snazší než mít nerozdělený moloch o milionech řádků a nevědět, odkud kam vedou dráty. Navíc se často o program stará někdo jiný než původní autor a vyznat se v cizím kódu není snadné, ani když se dodržují všechny konvence.
Znovupoužitelnost - děláš úkol do školy a potřebuješ kreslit graf. Úkol je samozřejmě po odevzdání naprd, ale tu část s kreslením grafu si schováš a až budeš v budoucnu psát jeden program na výpočet daní a další na zobrazování vytížení sítě, tak sáhneš do šuplíku a máš zadarmo kreslení grafu. A to nejlepší - někdo při používání Tvého programu na počítání daní nahlásí chybu v grafech, tu chybu opravíš a ona je tím pádem opravená i v tom programu na vytížení sítě.
Prostě je těch výhod moc.
Rozděl a panuj! :)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Vysvětlení části programu — založil Petey
Odkazování na části programů — založil dragon124
Spočítání doby vykonání části programu — založil MpPozor
Rozdělení zrojáku na 2 části a sestavení programu — založil DVNanakin
Moderátoři diskuze