Nachteile von GoTo/GoSub?
Übersicht

![]() |
NovaBetreff: Nachteile von GoTo/GoSub? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Welche Nachteile und Vorteile haben GoTo und GuSub eigendlich genau?
Bisher habe ich nur soetwas wie "veraltet" und "uncool" gefunden. An den Argumenten kann man aber sehen wie intelligent der jeweilige Autor war, daher vertraue ich den anderen dort geschriebenen Argumenten nicht ganz. MfG, Nova |
||
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit |
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Durch Goto un Gosub wird der Code unübersichtlich und schwerer zu verstehen, weil man von jedem Ort an jeden anderen Ort springen kann. Funktionen eignen sich besser, weil sie Parameter und lokale Variablen erlauben. | ||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gerade Goto führt gerne zu sehr verschachteltem Code und sollte daher gemieden werden.
Code: [AUSKLAPPEN] .a
goto d .b goto c .c goto a .d goto e .e goto b Na, Reihenfolge leicht zu erkennen ? Deswegen bitte kein goto- und das war jetzt noch ein recht harmloses Beispiel ohne Zwischencodes. Gosub ist per se mal noch nicht so schlimm, da es ja bei Return an den Ausgangspunkt zurückkehrt, was ja auch eine Function macht. Der Grund weshalb es jedoch schlecht ist gosub zu benutzen ist die mangelnde Kapselung, d.h. in einer Subroutine gelten alle Variablen des Hauptprogrammes und daher ist eine Gosub anfälliger für Doppeldeklarationen und fehlerhafte Wertezuweisungen. Desweiteren beendet sich eine Function idR automatisch, während bei einem Gosub das return aus Versehen vergessen oder auskommentiert sein kann, und dann wird der Compiler mit einem Stack overflow die Grätsche machen weil er immer wieder die Gosub aufruft aber nie zurückspringt (und daher auch die Rücksprungadressen sich auf dem Stack türmen). Wenn hingegen eine Function sich rekursiv aufruft und es deswegen abbricht ist das zumindest recht leicht zu debuggen. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wieso einen Stadtplan konsultieren wen es Gps gibt ![]() Ja goto ist einfacher , wen man "function" begreift , wirst du es lebenslang benützten ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo ...
Goto und Gosub sind sehr alte Sprung befehle aus den anfängen von Basic. Gelegentlich sind sie noch recht nützlich. Solten aber eigentlich nicht mer verwendet werde. Da sie ... wie oben schon beschrieben. Einige nachteile haben. die die Vorteile aufwiegen. Ich persönlich benutze sie noch innerhab von Funktionen oder wen ich ganz auf funktionen verzichte. Du must selber herausfinden ob du damit klar komst. Gruss TFT |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group