Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by himitsu,
18. Feb 2012
Das "Codeoptimierungen" bezog sich nicht grundsätzlich auf die Performance.
Selbst das einfache if Assigned(V) and V.Xyz then gilt doch auch schon als Sowas.
PS: Von der Funktion her ist hier natürlich StrToIntDef die direkte Übersetzung.
IsANumber und TryStrToInt, zusammen mit einem IF, wäre mehr die umständlichere logische Übersetzung.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by himitsu,
18. Feb 2012
Größtes Gegenargument gegen Exceptions zur regulären Programmsteuerung.
try
X := StrToInt(S);
except
X := 0;
end;
Und jetzt debugge mal ein Programm, wo Sowas oder Ähnliches in jeder zweiten Codezeile vorkommt.
Das macht absolut keinen Spaß mehr, wenn der Debugger ständig anhält.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by himitsu,
18. Feb 2012
Grob übersetzt würde CleanCode dann aber bedeuten auf nahezu alle Codeoptimierungen zu verzichten.
Ein gewisses Standard-Verhalten würde ich einfach voraussetzen
und wenn dieses nicht zutrifft, dann darf auch keiner ein standardmäßig korrektes Verhalten voraussetzen. :roll:
Denn mit voller booleanischen Auswertung kann der Code nur in if Assinged(DS) then if DS.Active then if...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by himitsu,
18. Feb 2012
if Assinged(P) then if P.Enabled then sieht och nicht besser aus, aber wenn Clean-Code sowas verlangt, dann bin ich für Dirty-Code. :stupid: