Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Result einer Funktion "Stil Frage"

  Alt 4. Nov 2012, 17:52
Result ist immer besser.
- man erkennt genau was gemeint ist
- man kann mit dem Namen nicht rechnen
- und wenn man die Funktion umbenennt, muß man das auch immer mit anpassen

Rechnen:
In C wird meisten eine Hilfsvariable verwendet und das Ergebnis erst am Ende an RETURN übergeben.

In Delphi is t das nicht nötig, da man Result direkt verwenden kann, jedenfalls dann, wenn man nicht den funktionsnamen verwendet.

Delphi-Quellcode:
Result := 132;
...
Result := Result * 2;
...
end;
Am Beispiel von dem schon genannten "Sum" würd man schnell in einer Endlosschleife landen.
Denn "sum" wird nur bei Zuweisungen als Funktionsergebnis genommen und sonst ist es ein Aufruf.

Delphi-Quellcode:
Function Sum(const Values: TBytes): Integer;
var
  B: Byte;
begin
  Sum := 0; // entspricht Result :O 0;
  for B in Values do
    Sum := Sum + B; // hier würde es aber Result := Sum + B; sein, also ein rekursiver Aufruf
end;

Ach ja: Und das Result muß grundsätzlich immer initialisiert werden, selbst wenn man denkt, daß es bei String, dyn. Array und Interface auch ohne funtioniert.
Glaubt mir einfach, dem ist nicht so.
$2B or not $2B
  Mit Zitat antworten Zitat