Hier mal ein Beispiel, das gleich zwei Fehler enthält:
Delphi-Quellcode:
function BerechneZinsesZins:double;
var
kapital, zins : double;
jahre, i : integer;
begin
kapital := StrToFloat(Form1.EditKapital);
zins := StrToFloat(Form1.EditZins) / 100.0;
jahre := IntToStr(Form1.EditJahre);
if jahre <= 0 then
begin
ShowMessage('Die Anzahl der Jahre muss grösser 0 sein!');
result := 0;
exit;
end;
Result := kapital;
for i := 1 to jahre do
Result := Result * (1.0 + zins);
end;
1. Fehler
Die Bussinesslogik ist untrennbar mit der Benutzeroberfläche verkoppelt.
Richtig wäre es, die Werte kapital, Zins und jahre als Parameter zu übergeben
2. Fehler
Es wird ShowMessage verwendet, um einen Fehler anzuzeigen.
Dies wird immer wieder falsch gemacht, denn ShowMessage verhindert,
dass man Programmcode in einem anderen Kontext benützen kann.
Man möchte die Funktion vielleicht in einer Schleife aufrufen oder in einem Webservice anwenden.
Richtig kann nur sein eine
Exception zu "raisen".