Hallo negaH,
Luckie hat bewusst darauf hingewiesen, dass der Article nicht in der finalen Version vorliegt.
Tippfehler, wie ein fehlender Buchstabe, sollten deshalb verziehen werden...
Zitat von
negaH:
die ShowMessage() sollte durch eine Excpetion ersetzt werden. Der Code als "Highlevel" Funktion sollte auch eine Fehlerüberprüfung haben. "Highlevel" Funktionen können demzufolge auch Exceptions auslösen. Paralell dazu könnte man die Funktion so umbasteln wie es in StrToIntDef() der Fall ist. Dies würde die Exceptions beseitigen und einen Default Wert zuweisen.
Assertion- und Exceptionhandling ist mehr als nur irgendeine
Exception zu werfen. Weil die
VCL es nur bedingt vorlebt und Delphi nicht das Konzept der Checked Exceptions unterstützt, sind sie dem Delphi-Einsteiger (Zielgruppe des Artikels) nicht vertraut. Richtig angewandt sind Exceptions sehr sinnvoll, aber auch aufwendig zu designen!
Zitat von
negaH:
4.) ALLE Varibalen beginnen mit Großbuchstaben !
5.) ValidatDay(d: string): Boolean; ist inkonsitent -> IsValidDay(const Value: String): Boolean;
6.) edtDay.Text -> EditDay.Text oder EDay.Text
Wenn Luckie sich auf den StyleGuide von Charles Calvert beruft, simmt das. Allerdings habe zu genau diesen Punkten schon häufiger Kritik vernommen...
Zitat von
negaH:
7.) Extended für die Berechnungen ist überdimensioniert, Default Floatingpoint sollte Double sein.
Auch hier würde ich lieber einen zu großen Datentyp (für einen Einsteiger) empfehlen als einen zu kleinen mit deaktivierte Bereichsüberprüfung (sonst sind 200d+100d plötzlich einmal 45d).