Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dlaczego goto to zło?

Ostatnio zmodyfikowano 2011-05-01 20:27
Autor Wiadomość
Bartekko
Temat założony przez niniejszego użytkownika
Dlaczego goto to zło?
» 2011-04-30 20:14:24
Dziękuję za obejrzenie tematu, Problem jest prosty:
Dlaczego w praktyce(proszę nie podawać niezrozumiałej dla początkującego formułki" Bo zaburza działanie kodu") tak bardzo nienawidzicie goto(); co się może stać jak jej użyję do otwarcia głównego menu po zrobieniu 1 raz pewnej funkcji? Powtarzam: W PRAKTYCE
P-32340
lukonQ
» 2011-04-30 20:15:35
wykona się funkcja otwarcia menu głównego : )

 goto nie zaburza, tylko powoduje nieczytelność kodu przy większych projektach
P-32341
Bartekko
Temat założony przez niniejszego użytkownika
» 2011-04-30 20:19:58
nieczytelność kodu dla programisty? czyli to tylko niezrozumienie kodu przez programistę? //to się skomentuje
P-32342
Mrowqa
» 2011-04-30 20:20:06
Jaka funkcja goto(); ??
Masz chyba na myśli intrukcje: goto - to nie fukncja !!
C/C++
goto etykieta; // a nie goto( etykieta );
//...
etykieta:

Pozdrwiam,
Mrowqa
P-32343
Bartekko
Temat założony przez niniejszego użytkownika
» 2011-04-30 20:24:22
no raczej to nie jest fuKNcja
(ach te przyzwyczajenia z cOlObOt'a)
P-32344
Dawidsoni
» 2011-04-30 20:54:52
Poza tym, że jest nie czytelna to mówi się, że ten kto używa instrukcji goto nie umie programować, bo zawsze jest sytuacja kiedy możemy użyć czegoś innego. Jednak np. żeby od razu wyjść z 10 pętli, które są zagnieżdżone w sobie ta instrukcja się przydaje, mimo to, że jest też inny sposób na takie wyjście.
P-32345
Bartekko
Temat założony przez niniejszego użytkownika
» 2011-04-30 21:23:16
Mówi się że...
Facet, Ale dlaczego taki ktoś nie umie programować ( wiem, że da się zrobić inaczej, ale co złego w gołtu ?)
[C++]void main(){
bedziesztuszedwnieskonczonosc:
goto bedziesztuszedwnieskonczonosc;
[C++/]

}
P-32352
dmx81
» 2011-04-30 21:56:41
mi sie jeszcze nie zdarzylo, aby bylo konieczne uzywanie
goto();
wiem, tez mi to nie dawalo spokoju, dlaczego uczyc sie trzeba czegos, czego sie nie uzywa - podobnie z
#define
, jak sie uczylem, to wszyscy mi mowili (pisali) zeby
#define
 nie uzywac. jak sie pozniej okazalo, w wielu przypadkach w roznych projektach ludzie uzywaja tego, w wielu naglowkach roi sie od
#define
 i nie umialem sie dlugo polapac, co one oznaczaja, bo poprostu uczac sie omijalem lekcje o tym, czego nie uzywac.

dzis wiem, ze uzywanie tego przez niedoswiadczonego programiste moze spowodowac rozne problemy, ktore sa trudne do znalezienia, zwlaszcza w duzych projektach

wracajac do
goto();

w wiekszym projekcie, mozemy sledzic kod linia po linii, petla po petli...
uzywamy instrukcji
break i continue
i wiemy gdzie "przeskoczyc", aby kontynuowac, jednak uzycie
goto spowoduje, ze musimy przewijac kod w celu znalezieniua etykiety, do ktorej nas goto skieruje, co na pewno nie jest czytelne i moze wprowadzac "zamieszanie" (trzeba by chyba w komentarzu wpisac linie, do ktorej trzeba przeskoczyc)
z drugiej strony ktos na pewno nie "wymyslil" tego, zeby utrudnic, ale zeby cos sobie ulatwic... takze nie bede oryginalny, ale przyjalem stanowisko ludzi, ktorzy programowaniem zajmuja sie na pewno duzo dluzej i twierdza, ze powinno sie omijac rozwiazania z
goto()
P-32354
« 1 » 2 3
  Strona 1 z 3 Następna strona