Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#33

Re: for-Schleife gegen über while-Schleife

  Alt 21. Mär 2009, 18:24
@Luckie : höre besser auf deinen "Lehrer". Hier wird mehr auf break und sogar auf Exit gesetzt und das ist IMHO kein sauberer Stil. Man sehe sich mal diesen Source an :

Zitat von sx2008:
Delphi-Quellcode:
function IsPLZInArray(SonnenStundenListe: TSonnenStunden; PLZ: Integer): Boolean;
var
  i: Integer;
  CurrentPLZ: Integer;
begin
  for i := 0 to length(SonnenStundenListe) - 1 do
  begin
    CurrentPLZ := SonnenStundenListe[i, 0];
    if CurrentPLZ = PLZ then
    begin
      Result := True;
      Exit;
    end;
  end;
  Result := False; // nichts gefunden
end;
Beim ersten gucken hat der mich schon 5 Sek. aufs Glatteis geführt. Zuerst habe ich das kleine "Exit" nicht gesehen (auch nicht erwartet) und dachte, was soll denn das, result wird ja so oder so auf false gesetzt. Nun ja, das sorgt ja lediglich dafür, dass alles danach kommende einfach ignoriert wird. Genau wie auch Break ist so was für mich quasi ein GOTO ohne Zeilennummern. Warum ist das nun meiner Meinung nach schlechter Stil ?

Erstens aus eigener Erfahrung. Bei meinem ersten größeren Programm habe ich auch überall Exit benutzt. Ist ja schön einfach und "lesbarer". Irgendwann hagelte es aber Quereffekte, die äußerst schwer nachzuvollziehbar waren. Habe solcherlei Konstrukte dann konsequent eliminiert. Dann kam auch noch ein Prof. und hat die Überflüssigkeit solcher Dinge demonstriert. Prinzipiell braucht man die wirklich nicht.

Das ist aber kein Dogma. Es gibt wohl sinnvolle Ausnahmen, aber die Regel sind die nie und nimmer. Register hin oder her.

Ich bevorzuge jedenfalls Häuser mit einem Ein/Ausgang und nicht welche mit 10 versteckten Ausgängen.
Gruß
Hansa
  Mit Zitat antworten Zitat