Ja, richtig, hier prallen wieder mal die unterschiedlichen Ansichtsweisen, was sauberer Code ist und was nicht, aufeinander. Ich stehe nach wie vor zu meiner Meinung und ich werde auch an irgendeiner Stelle wo es "nötig ist", von den 0.01% der Fälle Gebrauch machen und ein Exit einsetzen. Aber in keinem der hier im Thread erwähnten Fälle.
Du nimmst wirklich die 2.Variante?
Delphi-Quellcode:
// Total schlecht lesbarer und unsauberer Code mit EXIt
For i:=1 to N Do
For j := 1 to M Do
Begin
If Bla[i,j].HasInvalidData() Then Exit;
Bla[i,j].Process();
...
End;
...
//
...
// Suupersaubere Implementierung ohne EXIT. Toll!
i := 1;
Aborted := False;
While (i <= N) and not Aborted Do
Begin
j := 1;
While (j <= M) and Not Aborted Do
Begin
If Bla[i,j].HasInvalidData() Then
Aborted := True
Else
Begin
Bla[i,j].Process();
...
Inc(J)
End;
End;
Inc(i);
End;
Das Bild hängt schief.