Wenn man Exit richtig einsetzt erhöht das die
Lesbarkeit; wenn man es falsch einsetzt verringert man die Lesbarkeit.
Es geht also nicht um die Anzahl der Zeilen oder Optik sondern um die Lesbarkeit.
Nach meiner Erfahrung gilt es dabei zu beachten:
1.) wenn man Exit verwendet, dann möglichst frühzeitig aussteigen
Delphi-Quellcode:
procedure GoodExample1(arg1,arg2,..);
begin
if arg1 = arg2 then
Exit;
// hier folgen einige weitere Anweisungen
Anweisung1;
...
AnweisungN;
end;
2.) Exit
nicht verwenden, wenn man gezwungen wäre Anweisungen zu wiederholen
Delphi-Quellcode:
procedure BadExample2(arg1,arg2,..);
begin
Machwas;
if (IrgendeineBedingung) then
begin
MachNochIrgendwas; // doppelter Code
Exit;
end;
// hier folgen einige weitere Anweisungen
.....
MachNochIrgendwas; // doppelter Code
end;
3.) Exit nur einmal verwenden
Wenn man an mehreren Stellen eine Funktion/Procedure mit Exit verlässt,
dann verschlechtert dies die Lesbarkeit.
4.) Exit aus einer Schleife
Hier zeigt sich ganz klar der Vorteil von Exit; man kann eine Schleife und zugleich
die Funktion/Procedure verlassen, ohne dass der der Schleife folgende Code ausgeführt wird.
Man spart sich so die Verwendung eines boolean Flags.
5.) Exit in "Kleinfunktionen"
Manchmal wird Exit verwendet, ohne wirklich eine Verbesserung der Lesbarkeit zu bringen.
Das zeigt sich z.B. in Funktionen mit nur ganz wenigen Anweisungen
Delphi-Quellcode:
function BadExample2(arg..):Boolean;
begin
result := False;
if EineBedingung then
Exit; // sehr unschön
EineEinzigeWeitereAnweisung;
Result := True;
end;
Dies lässt sich so umschreiben (und man spart sogar eine Zeile):
Delphi-Quellcode:
function GoodExample2(arg..):Boolean;
begin
result := not EineBedingung; // anstatt "not" besser die Bedingung umformulieren
if Result then
EineEinzigeWeitereAnweisung;
end;
Mit diesem Kochbuch kann eigentlich in Bezug auf Exit nichts mehr schiefgehen.
So und nun habt euch wieder lieb!!