Einzelnen Beitrag anzeigen

MichaelT

Registriert seit: 14. Sep 2005
Ort: 4020 Linz
532 Beiträge
 
Delphi 10.3 Rio
 
#90

AW: Procedure vs Function, Vor- und Nachteile

  Alt 22. Apr 2018, 09:09
Können schon.

Rückgabewerte kommt vom alten C, denn da hatte ein Funktion immer den Rückgabewert int sofern nichts definiert war und nicht void.

---

Aber du kannst in Delphi/Pascal ein Ergebnis ja auswerten.

Allein war im Pascal früher die Verwendung der Rückgabe verpflichtend. Das führte dazu, dass wie kurz zuvor erwähnt viele Statusvariablen rumschwirrten die entweder das Ergebnis des letzten Funktionsaufrufs hielten oder es gab viele davon. Das machte die Programme unübersichtlich und fehleranfällig.

Alternative hast du zuviele IFs die sich mit Fehlerbehandlung beschäftigen oder die typischen MagicHandleError(Funktion(A,B)); als Ersatz für eine Exception (kinda GOTO :ERROR).


--

Damals waren Prozeduren lange und Nested Procedures waren an der Tagesordnung.

Im Delphi kannst du in einem Testprojekt mal Erweiterte Syntax auf 'false' setzen in den Optionen und in der Praxis. Du wirst schnell sehen, dass die damit verbundenen Restriktionen mehr Ungemach als Gemach provozieren. Zu Zeiten von Records und Abstrakten Datenstrukturen resp. -typen war diese Modus noch durchwegs akzeptabel. Mit OO begannen die Nachteile zu überwiegen (merklich seit BP 7).



Also wenn man eine Funktion nicht auswertet, sprich: wie eine Prozedur bedient, da frag ich mich ob ein Result nicht doch wichtig sein könnte

Geändert von MichaelT (22. Apr 2018 um 09:12 Uhr)
  Mit Zitat antworten Zitat