Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#4

AW: case .. of kann kein break - Gibt es dafür einen rationalen Grund?

  Alt 8. Mai 2024, 12:22
Ja das stimmt.
Ist das denn ein Grund keinen Exit-Mechanismus vorzusehen?

Es geht ja um das vorzeitige Verlassen eines Scopes.
Entspricht das etwa irgendwie nicht den guten Gepflogenheiten?

Es gibt ja ein anderes "AntiPattern", in Methoden - ein Guard ( Exit; ) um vorzeitig anzubrechen.
Delphi-Quellcode:
function MyFunc( AParam : Integer ) : Boolean;
begin
    if AParam < 0 then
    begin
        Result := False;
        Exit; //<== GUARD - sichere vor falschen Parametern ============
    end;

    // Hier kann ich munter mit dem Parameter arbeiten, ohne dass die Funktion abraucht
    AParm := AParam * 100;
    ...

    Result := True;
end;
Ich benutze das "AntiPattern" sehr gerne, weil es eben irrsinnig tiefe if then Verschachtelungen wunderbar einfach und lesbar auflösen kann.
Für Sprachpuristen kommt das glaube ich aber nicht in Frage.

Es scheint mir so das gleiche Argument zu sein.
Das geht vielleicht alles in die Richtung: "break, continue, Exit ist auch nur ein GOTO".

Könnte das der wahre Grund dahinter sein?
  Mit Zitat antworten Zitat