Thema: Delphi for to do: 0 to -1

Einzelnen Beitrag anzeigen

omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: for to do: 0 to -1

  Alt 5. Dez 2005, 00:43
Zitat von himitsu:
Was aber keine wirklich Lösung ist, dann dadurch wird zusätzlicher Code (nämlich die Fehlerprüfung) in das Programm eingebaut wird, was erstens das Programm größer und natürlich auch etwas langsamer macht.
Und wenn ein Programm richtig/fehlerlos programmiert ist, dann ist dieses auch total sinnlos.
Es geht hier ums Entwickeln, dann sollte die Prüfung an sein. Ausserdem ist es heutzutage mit grossen Platten und schnellen Rechnern nicht mehr so wichtig, dass die Anwendung klein und super schnell ist. Da kommt es auf die paar KB auch nicht an. Es ist viel mehr wichtig, dass die Anwendung richtig funktioniert und eine ordentliche Fehlersuche möglich ist.

Zitat von himitsu:
Zitat von omata:
Also entweder immer Integer für die Laufvariable benutzen (was blödsinn ist) oder nie den Endbereich mit -1 verändern, sondern in der Schleife bei der Verwendung der Laufvariablen einen abziehen.
Ist ja noch schlimmer.
also statt nur einmal im Rumpf der Schleife etwas abzuziehen, soll man das jetzt also (unter Umständen) mehrmals innerhalb der Schleife machen?
Wie du selber schreibst, "unter umständen" richtig. Wenn du mal Compilerbau hörst, wirst du erfahren, dass man absichtlich den Quellcode nicht optimieren soll. Die heutigen Compiler übernehmen die Optimierung des Codes. Man selbst soll übersichtlich und sicher programmieren.

Zitat von himitsu:
Es ist doch viel besser gleich die Ursache zu beheben?
Also entweder die Datentypen anpassen, oder nur eine winzige Prüfung selber einzufügen

Delphi-Quellcode:
if REMPILLAR > 0 then
  for v := 0 to (REMPILLAR - 1) do
    ...
Hier wird auf größer 0 geprüft, da es einen optimaleren Code erzeugt.
eigentlich natürlich if REMPILLAR >= 1 then, also größer/gleich der Wert, welcher Abgezogen wird.
Das mit dem Typ hatte ich schon geschrieben. Und die IF-Anweisung davor, ist genau folgendes
for v := 0 to REMPILLAR do wenn man die -1 weglässt.

Man kann das sehen, wie man will.
Und nun könnt ihr (z.B. Luckie) mich wieder in der Luft zerreissen...
  Mit Zitat antworten Zitat