dedlfix: Pro/Contra Break in Schleifen

Beitrag lesen

echo $begrüßung;

Ich programmier ja meistens mit Perl und da gibt es kein switch, was ist denn an if-else so schlimm?

Daran ist "schlimm", dass der Ausdruck in jedem if neu berechnet werden muss. Ich hab da ja einen Aufruf der Methode constraint.Satisfies() drin. Die soll nicht mehrfach immer wieder das gleiche berechnen. Man müsste dann noch eine Variable mit dem Zwischenergebnis erstellen, welches dann von den ifs verglichen wird.

Das ist doch allemal besser als ein goto oder eine eigentlich überflüssige Variabel zu benutzen. Ausserdem wäre der Code kürzer.

Nö, die "überflüssige Variable" wird nur für was anderes verwendet und der Code bleibt bei 1TBS-Notation gleich lang. Die switch-Zeile erstellt die Zwischenergebnisvariable, case wird zu if und die case-breaks werden zu "} else". Das } vom switch verschwindet, das wars aber auch schon. Und man sieht nicht mehr auf einen Blick, dass das Ergebnis von Satisfies() auf unterschiedliche Werte geprüft werden soll.

echo "$verabschiedung $name";