Kezdőoldal » Számítástechnika » Programozás » C#: Miért ne érdemes használni...

C#: Miért ne érdemes használni a goto parancsot?

Figyelt kérdés
Hiszen olyan hasznos, mégsem ajánlják.
2016. szept. 23. 18:36
1 2
 1/13 anonim ***** válasza:
95%

Nem hasznos az.

Ha goto használatára szükséget érzel, akkor a programod strukturálisan rossz.

2016. szept. 23. 18:50
Hasznos számodra ez a válasz?
 2/13 anonim ***** válasza:
100%

Mert az esetek 99,9%-a megoldható nélküle is. Az objektumorientált nyelveknél semmi szükség rá.


Azontúl most ne az ilyen egyosztályos kis helloworld szintű kódokra gondolj, hanem bonyolult rendszerekre. Teljesen átláthatatlanná tenné és a hibakeresés lehetetlen lenne, mert nem tudnád mi hova ugrik. Borzalom.

2016. szept. 23. 18:50
Hasznos számodra ez a válasz?
 3/13 A kérdező kommentje:
Köszönöm a válaszokat!
2016. szept. 23. 19:30
 4/13 anonim ***** válasza:

Tényleg hasznos dolog a goto, de egyben iszonyatosan veszélyes is. Ugyanis feltételek nélkül, ellenőrzés nélkül lehetővé teszi azt, hogy a programod futása egy tetszőleges utasításra ugorjon. Vannak esetek, amikor elkerülhetetlen.


Például, legyen ez a programod szerkezete:

for (...) {

.. for (...) {

.. .. if (kilépési feltétel) ???

.. }

}

utasítás;


A feladat az, hogy a kilépési feltétel esetén azonnal befejeződjön mindkét ciklus végrehajtása és a program futása a külső for cuklus utáni utasításnál folytatódjon. Ezt megoldhatod úgy, hogy a belső for ciklust kiemeled egy függvénybe/eljárásba. De megoldhatod így is:

for (...) {

.. for (...) {

.. .. if (kilépési feltétel) goto ciklus_vege;

.. }

}

ciklus_vege:

utasítás;

2016. szept. 23. 20:43
Hasznos számodra ez a válasz?
 5/13 A kérdező kommentje:
Köszönöm neked is.
2016. szept. 23. 20:56
 6/13 anonim ***** válasza:

Elbasztam. Bocs. Ezt írtam: "Ezt megoldhatod úgy, hogy a belső for ciklust kiemeled egy függvénybe/eljárásba."


Magát ezt a kódrészletet kell kiemelni és return-nal visszatérned.

2016. szept. 23. 21:01
Hasznos számodra ez a válasz?
 7/13 SimkoL ***** válasza:
'Vannak esetek, amikor elkerülhetetlen.' Nem lehetnek egy jól felépített programban. Ha kell többször is átírom(tam) - ma már nem mert, eleve próbálom jól megtervezni - a programot. A GoTo a szarban lévő programozó utolsó menekülési útvonala.
2016. szept. 23. 21:11
Hasznos számodra ez a válasz?
 8/13 anonim ***** válasza:

"Amint azt ezek az esetek is bemutatták, a goto kifejezés használata kiváltható más utasítások használatával."


"Tartsuk szem előtt, hogy a C stílus irányelvei szigorúan tiltják a goto használatát."


"A goto nem, hogy az objektumorientált szemléletet de még a struktúrált programozás fogalmát is sérti."


forrás: nyelvek.inf.elte.hu

2016. szept. 23. 21:33
Hasznos számodra ez a válasz?
 9/13 anonim ***** válasza:

# 8/8 Időpont tegnap 21:33


Az IK honlapjánál még a mindmegette.hu is relevánsabb sajnos a témában.


Nekik a struktúrált kód az a Dijsktra-Fóthi féle förmedvény...


Kérdező:

A goto az egyik legveszélyesebb utasítás ilyen téren, tényleg kerüld. Főleg magas szintű nyelveknél. De C/C++-ban is erősen ellenjavallt. Nehezebb debuggolni, nehezebb továbbfejleszteni, nehezebb karbantartani, nehezebb megérteni...

2016. szept. 24. 00:14
Hasznos számodra ez a válasz?
 10/13 anonim ***** válasza:
Összekuszálja a programot, néhány év múlva még te sem érted, hogy mit csinál.
2016. szept. 24. 18:43
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!