Delphi-Quellcode:
procedure TMyPopupList.WndProc(var Message: TMessage);
begin
if Message.Msg = WM_MBUTTONDOWN then begin
EndMenu;
Exit;
end;
inherited;
end;
Wäre das so unter Verzicht auf Exit nicht lesbarer?
Delphi-Quellcode:
procedure TMyPopupList.WndProc(var Message: TMessage);
begin
if Message.Msg = WM_MBUTTONDOWN then
EndMenu
else
inherited;
end;
Das ist Geschmackssache und in diesem Fall ist sicher beides akzeptabel.
Bei komplexeren Fällen mit einer Vielzahl an Abfragen finde ich meinen Ansatz etwas übersichtlicher und leichter wartbar (z.B. beim Einfügen, Löschen oder Umsortieren einzelner Fälle).
Der IF-EXIT Ansatz hat gegenüber dem IF-ELSE Ansatz allerdings den Vorteil, daß nicht bei jedem IF ein EXIT folgen muss und in dem Fall die folgenden Abfragen noch ausgeführt werden. Bei einer IF-ELSE Struktur ist das nur schwer und unübersichtlich realisierbar.
Übrigens: Ich halte EXIT, BREAK und CONTINUE ebenso wie Exceptions für sehr brauchbare Sprachkonstrukte zur Steuerung des Programmflusses. Aber das gehört alles eigentlich gar nicht in diesen Thread