Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.723 Beiträge
 
Delphi 11 Alexandria
 
#47

Re: for-Schleife gegen über while-Schleife

  Alt 21. Mär 2009, 22:30
Zitat von omata:
Zitat von jaenicke:
...nicht eine realitätsfernere aus einem Lehrbuch.
Blödsinn.
Das ist doch so. Was ich machen will ist, mir alle Einträge der Reihe nach nach einem bestimmten Kriterium anzuschauen. Und aufgrund eines bestimmten (unbestimmt eintretenden, ich weiß das ja vorher nicht, ob es eintritt) Ereignisses kann ich mir den Rest ersparen und daher schon vorher abbrechen. Das ist die Logik dahinter.

Das kann ich jetzt umbauen, indem ich von vorneherein davon ausgehe, dass dieses Ereignis (der Fund) eintritt und ich daher wahrscheinlich gar nicht alles durchsuchen muss.

Mir ist jedenfalls wichtiger, dass ein Programm schnell alles korrekt erledigt, als dass das Programm immer wieder kurz nachdenkt oder schon langsam startet, weil sich der Programmierer an irgendwelche starren Regeln gehalten hat.

Das erinnert mich irgendwie an das 18. Jahrhundert als z.B. die Kapitäne und Admirale der englischen Marine durch die Regeln der Seekriegsführung an bestimmte Vorgehensweisen gebunden waren, auch wenn diese die fast sichere Niederlage bedeuteten.

Und warum soll man extra umständlich mit while arbeiten, wenn Delphi die Optimierung eigentlich mit for selbst macht? for, eine Zeile:
Delphi-Quellcode:
for i := 0 to Length(SonnenStundenListe) - 1 do
  ...
while, äquivalenter Code:
Delphi-Quellcode:
MyArrayLength := Length(SonnenStundenListe);
i := 0;
while (i < MyArrayLength) do
begin

  Inc(i);
end;
Dazu kommt dann in beiden Fällen noch die andere Bedingung. Wofür soll man den Delphiquelltext derart aufblähen. Das macht das ganze erst recht unübersichtlich.

Zitat von Hansa:
Hier gehts ja momentan nur um 10-Zeilen Schleifen, aber was wenn eine ein paar hundert Zeilen hätte ?
Dann hat man im Regelfall einen Fehler gemacht. Normalerweise modularisiert man Code entsprechend.
Und dokumentiert natürlich auch so weit, dass der Code nachvollziehbar ist.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat