Automatinator
Level-1
- Beiträge
- 115
- Reaktionspunkte
- 2
-> Hier kostenlos registrieren
Hallo zusammen
Ein Teamkollege von mir verwendete GOTO-Befehle in SCL in einer CASE-"Zustandsmaschine" um gewisse Befehle/Abläufe "Zeitkürzer" im OB1 (Zyklischer OB) abzuwickeln. Auch desshalb weil in den einzelnen CASE-Schritten Sub-CASE-Zustände programmiert wurden. Und da für jeden CASE-Zustandswechsel ein Zyklus benötigt wird, verwendete er GOTO's.
Als Beispiel: Wenn der OB1 Zykluszeit 15ms betrug, wurde je nachdem ein Befehl erst nach Bsp.weise 6x15ms=90ms Abgearbeitet.
Und mit Verwendung von der GOTO's in 15ms (+ etwas mehr durch die GOTO-Sprünge).
Mir wurde immer gesagt von den Sprungfunktionen sollte man immer die Finger lassen... auch Wikipedia ist der Meinung:
Zitat Wikipedia zum Thema Strukturierte Programmierung:
Kann mir einer von euch sagen wieso man auch hier die GOTO's Meiden sollte? Gibt es hier nachteile beim Software-Warten oder Debuggen? (Debuggin in V15 möglich).
Danke im Vorraus!
Gruss
Ein Teamkollege von mir verwendete GOTO-Befehle in SCL in einer CASE-"Zustandsmaschine" um gewisse Befehle/Abläufe "Zeitkürzer" im OB1 (Zyklischer OB) abzuwickeln. Auch desshalb weil in den einzelnen CASE-Schritten Sub-CASE-Zustände programmiert wurden. Und da für jeden CASE-Zustandswechsel ein Zyklus benötigt wird, verwendete er GOTO's.
Als Beispiel: Wenn der OB1 Zykluszeit 15ms betrug, wurde je nachdem ein Befehl erst nach Bsp.weise 6x15ms=90ms Abgearbeitet.
Und mit Verwendung von der GOTO's in 15ms (+ etwas mehr durch die GOTO-Sprünge).
Mir wurde immer gesagt von den Sprungfunktionen sollte man immer die Finger lassen... auch Wikipedia ist der Meinung:
Zitat Wikipedia zum Thema Strukturierte Programmierung:
Die bekannteste Konsequenz dieses Prinzips ist die Vermeidung oder – abhängig von der Programmiersprache – der eingeschränkte und standardisierte Einsatz der Sprunganweisung, des GOTO. Das Ergebnis der häufigen Verwendung dieser Anweisungen wird häufig abfällig als Spaghetticode bezeichnet.
Kann mir einer von euch sagen wieso man auch hier die GOTO's Meiden sollte? Gibt es hier nachteile beim Software-Warten oder Debuggen? (Debuggin in V15 möglich).
Danke im Vorraus!
Gruss