Miért ne használhatnék goto utasítást, ha break, continue és exit utasítások sem kevésbé különbözőek?
Mert átláthatatlanná teszik a kódot.
A break, continue, exit és hasonló utasítások sem a struktúrált programozás részei, de sokszor jóval hatékonyabbá tehetik a kódot, és sokkal kevésbé lehet vele szörnyűségeket csinálni, mint goto-val.
1. Az exit nem utasítás, hanem függvény.
2. A break és a continue is töri a struktúrált programozást, de vannak fokozatok. A goto bárhova ugorhat (na jó, nem bárhova, de jóval kötetlenebb), de a break/continue jól meghatározott helyre csak.
Minden csak absztrakció kérdése. Persze, végső soron gépi kód lesz mindenből, de nekünk ezzel miért is kéne foglalkozni, ha magasabb szinten sokkal könnyebb megfogalmazni a megoldásokat a problémáinkra?
Ki mondta, hogy nem használhatsz? Senki nem töri le a kezed ha használod, a kulcsszó az ésszerűség. A goto ördögtől való voltát a strukturálatlan programok miatt hangoztatták mindig is, a strukturált programozás azonban nem a goto teljes elhagyásáról szól, hanem arról, hogy mit tehetsz meg vele és mit nem.
Az más kérdés, hogy volt itt negyven év, ami alatt a goto kikerülésére kismillió módszer született szinte minden helyzetre, úgyhogy nagyon ritka az, hogy tényleg használnod kelljen.
Itt csupa okosságot mondtak, azt tenném még hozzá, hogy baromira nem érdekes, mire fordul le a program (ilyen szempontból). Naná, hogy gépi kódban lesz ugró utasítás, senki nem is állította, hogy az strukturált. Egy bölcs mondás szerint a forráskódnak nem a számítógép, hanem az ember számára kell olvashatónak lennie. Na ezért.
Más a helyzet természetesen, ha sebességorientált feladatod van, és nanosecundumokon akarsz spórolni. De a feladatok többsége nem ilyen.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!