Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Funktion und Darstellung trennen

  Alt 18. Dez 2008, 06:52
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".
  Mit Zitat antworten Zitat