Danke. Ein besseres Argument gegen OO, bei dem sich die wie Befehle genutzten Methoden aufgrund versteckter privater Attribute mal so und mal anders verhalten, hättest Du mir gar nicht liefern können.ralf.wenzel hat geschrieben:Es ist in jedem Falle ganz übel, eine Anweisung zu definieren, die kontextabhängig unterschiedliches Verhalten aufweist.
Er wird darauf anspielen, dass er EXIT generell nicht mag, da EXIT innerhalb von Schleifen diese verlässt, außerhalb von Schleifen aber wie ein RETURN wirkt (bzw. ganz oben im Hauptprogramm dieses beendet). EXIT hat also unterschiedliche Verwendungszwecke.black_adept hat geschrieben:Warum "notgedrungen"? Ist nicht gerade der Sinn des "EXIT"-Befehls einen Verarbeitungsblock ( Schleife ) zu verlassen?
Hä???DeathAndPain hat geschrieben:Danke. Ein besseres Argument gegen OO, bei dem sich die wie Befehle genutzten Methoden aufgrund versteckter privater Attribute mal so und mal anders verhalten, hättest Du mir gar nicht liefern können.ralf.wenzel hat geschrieben:Es ist in jedem Falle ganz übel, eine Anweisung zu definieren, die kontextabhängig unterschiedliches Verhalten aufweist.
Genau das ist übrigens der Grund warum SAP empfiehlt, EXIT nur noch in Schleifen zu verwenden und Methoden/FORM-Routinen etc nur noch mit RETURN zu verlassen. ( --> )ralf.wenzel hat geschrieben:Und schon das Verschieben einer Codingstrecke, die DURCH das Verschieben ihr Verhalten ändert, ist eine Fehlerquelle. Egal, WO eine Anweisung steht, sie muss immer dasselbe tun.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag (Insgesamt 2):
ralf.wenzel • a-dead-trousers
Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
a-dead-trousers
Nur wenn Du so viel Glück hast, dass der Code in das Hauptprogramm verschoben wurde. Unterroutinen sind ja gerne geschachtelt bzw. man verschiebt von einer in die andere, und da wird es bei einer Verschiebung zu keinem Syntaxfehler kommen.Genau, denn dann steht eine syntaktisch falsche Anweisung im verschobenen Coding und es wird nicht übersehen.
Und bei Dir, wie vehement Du Dich an den Begriff "mehrdeutig" festhakst und diesen undifferenziert mit dem Satan gleichsetzt, anstatt ganz nüchtern zu schauen, was es denn in der gelebten Praxis für typischen Code und seine Lesbarkeit bedeutet. Einmal mehr kann ich auf diesen Thread hier als Beispiel verweisen: Ein CHECK als erster Befehl einer Unterroutine ist absolut nicht mehrdeutig im Sinne von "dem ABAP-kundigen Leser ist nicht sofort klar, was da passiert".Ist schon echt spannend, wie vehement du mehrdeutige Anweisungen verteidigst.....
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
ralf.wenzel