AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Procedure vs Function, Vor- und Nachteile
Thema durchsuchen
Ansicht
Themen-Optionen

Procedure vs Function, Vor- und Nachteile

Ein Thema von KodeZwerg · begonnen am 15. Apr 2018 · letzter Beitrag vom 23. Apr 2018
Antwort Antwort
günni0
(Gast)

n/a Beiträge
 
#1

AW: Procedure vs Function, Vor- und Nachteile

  Alt 21. Apr 2018, 10:52
Ich weiß nicht ob das hier ins Thema passt. Aber schlagt ihr die Hände über dem Kopf zusammen wenn man Funktionen benutzt wie eine Prozedur?
  Mit Zitat antworten Zitat
MichaelT

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

AW: Procedure vs Function, Vor- und Nachteile

  Alt 21. Apr 2018, 18:09
Nein.

Ich sehe heute sehr wenige bis gar keine Vorteile darin Extended Syntax nicht zu verwenden. {X-} bringt es nicht.

Wenn jemand die strikte Verwendung eines Funktionsergebnisses will erzwingen, sei es drum. Am Ende schwirren entweder zuviele Variablen rum die keiner (ge)braucht oder eine die nichts aussagt.

Ich weiß nicht ob das hier ins Thema passt. Aber schlagt ihr die Hände über dem Kopf zusammen wenn man Funktionen benutzt wie eine Prozedur?
  Mit Zitat antworten Zitat
günni0
(Gast)

n/a Beiträge
 
#3

AW: Procedure vs Function, Vor- und Nachteile

  Alt 21. Apr 2018, 19:15
Ich bin mir ehrlich gesagt nicht sicher, ob ich deinen Beitrag verstanden habe Michael.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Procedure vs Function, Vor- und Nachteile

  Alt 21. Apr 2018, 20:26
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
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Procedure vs Function, Vor- und Nachteile

  Alt 21. Apr 2018, 22:17
NaJa, nimm an Du hast eine Funktion, die einen Namen von irgendwas zurückliefert. Im Fehlerfall ist dieser String leer. Dann reicht es oft zu wissen, daß ein leerer String zurück geliefert wurde. Der genaue Fehler ist dann nur noch von untergeordnetem Interesse.
(Bis dann doch noch zwei Versionen später der genaue Fehlercode relevant wird.)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
günni0
(Gast)

n/a Beiträge
 
#6

AW: Procedure vs Function, Vor- und Nachteile

  Alt 21. Apr 2018, 22:59
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
Ist bei mir eine Funktion die ein Formular modal oder nicht modal anzeigt, je nach Parameter. Wird nur Show statt ShowModal aufgerufen, brauche ich das Resultat nicht. Daher dieser "Funktion als Prozedur"-Missbrauch.
  Mit Zitat antworten Zitat
MichaelT

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

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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz