Hirdetés
Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
pmonitor
#6213
üzenetére
A #6179 példa valóban jó, de dabadab kritikájában is van azért igazság, annál is inkább, hogy ennél az egyszerű szerkezetű példánál sokszor bonyolultabb a vezérlésszerkezet, amit nem lehet ilyen szépen struktúrálttá alakítani.
Egyébként nem tudom mit nem értesz meg, senki nem mondta, hogy ha lehet és ésszerű, akkor ne struktúrált szerkezetet használj. Csak arról írtunk, hogy nem mindig célszerű erőltetni a dolgot. Van ahol igenis helyénvaló a goto használata (C hibakezelés), a mindenáron történő struktúrált kikerülése pedig kifejezetten antipattern. A késsel is megvághatod magad, mégis használod pl. kenyérszeletelésre, ellenben fogpiszkálónak valóban nem a legalkalmasabb. Csak erről beszéltünk. Hogy mit írt Dijkstra több mint 50 évvel ezelőtt, az csak egy dolog. Akkor még nem volt eseményvezérelt és objektumorintált programozás, nem léteztek grafikus UI-k, stb. Az akkori környezetben teljesen helyénvaló volt a szigorú struktúrált programozási elv, ami egyébként az assembly/Fortran nyelvek kényszerű használatából adódó programozási krízis megoldására született. Az általa leírt struktúrált programozási elveket/szerkezeteket automatikusan (sémaszerűen) meg lehetett valósítani assembly és fortran nyelveken természetesen goto-k használatával. Azonban a probléma ott volt, hogy (mivel a nyelvekben nem voltak struktúrált szerkezetek beépítve), sokszor elég ötletszerűen (túl intuitívan) alkalmazták a goto-t. Másrészt a memóriával is spórolni kellett, úgyhogy ha volt egy már egyszer megírt programrészlet, egyszerűen goto oda, majd vissza... Na ennek a helyzetnek a kezelésére született Dijkstra (aki egyébként kiváló tudós volt) struktúrált programozás javaslata. Azóta a helyzet sokat változott. Részben születtek struktúrált szerkezeteket támogató programozási nyelvek, részben pedig ahogy írtam, az objektumorintáltság és eseményvezéreltség is előtérbe került (ezeket nem igazán lehet tankönyvszerűen struktúrált módon kezelni). A Dijkstra féle megközelítést most is érdemes szem előtt tartani, de eszetlenül erőltetni (goto kategórikus tiltása), szerintem butaság.
Végezetül engedj meg egy személyes megjegyzést, amit egyáltalán nem bántásnak szánok. A hozzászólásaidból az jön le, hogy kezdő vagy a programozásban (ez persze egyáltalán nem baj), és nem írtál még igazán nagyobb programot. Ragaszkodsz bizonyos (túlságosan is megkövesedett) elvekhez, amit a tanáraidtól tanultál, csak a gyakorlat sajnos más, mint a tankönyvi példák. Ha majd windows (Linux) rendszeren kell nagyobb programokat írnod, rájössz, hogy szépek az elvek, de időnként érdemes testreszabni őket.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Forza sorozat (Horizon/Motorsport)
- Építő/felújító topik
- Videó stream letöltése
- OLED TV topic
- iPhone topik
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Miskolc és környéke adok-veszek-beszélgetek
- Gitáros topic
- Fejhallgató erősítő és DAC topik
- PC-k milliói kerülhetnek veszélybe idén
- További aktív témák...
- Gamer PC-Számítógép! Csere-Beszámítás! R5 8400F / RTX 5060 / 16GB DDR5 / 1TB Nvme SSD!
- Akció! Dell Latitude 7200 2-in-1,12.3",FHD,i5-8365U,8GB,256GB SSD,WIN11,Tablet,LTE
- Gamer PC-Számítógép! Csere-Beszámítás! R5 3600 / RX 5700XT / 16GB DDR4 / 500 SSD + 1TB HDD
- Dell Latitude 3420 - i5 1135G7 ,16GB RAM, SSD, jó akku, EU bill., számla, 6 hó gar
- Dell Latitude 5290 i5 8350U, 8GB RAM, SSD, jó akku, EU bill., szép állapot, számla, 6 hó gar - 12.18
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



