Thema: Delphi verschachtelte function?

Einzelnen Beitrag anzeigen

xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#20

Re: verschachtelte function?

  Alt 21. Aug 2006, 21:40
Hallo,
Zitat von Der_Unwissende:
Ja, sachlich diskutieren ist ja schön und gut! Das würde damit anfangen, dass ich jetzt nicht die Stelle finde wo der Programmierstil von jmd. kritisiert wurde. Was die Kritik am Softwaredesign anging, so wird hier sehr kontextfrei das Zitat
Zitat von RavenIV:
Ich möchte Dir nicht zu nahe treten, aber da würde ich das Design der Software nochmal überdenken...
verwendet. Allerdings wurde direkt vorher von einer Funktion mit 20 benötigten Parametern und 500 Zeilen (inkl. allen Unterfunktionen) gesprochen. Ich denke da ist es durchaus angebracht Kritik an der Funktion zu üben, 500 Zeilen sind doch wohl mit sehr hoher Wahrscheinlichkeit teilbar (und für mich komplett unleserlich).
Zu den 500 Zeilen: Die Zahl bezog sich eben auf die Prozedur mit sämtlichen Unterfunktionen. Ich habe also die Prozedur schon aufgeteilt.
Zitat von Der_Unwissende:
Ich seh ehrlich gesagt noch nicht den sachlichen Vorteil darin, dass ich eine Funktion innerhalb einer Funktion verwende. Als Nachteile sehe ich weiterhin, dass die Lesbarkeit reduziert wird. Man sieht meiner Meinung nach nicht sofort, wo was herkommt.
So ein großer Unterschied ist es jetzt nicht, ob erst ein Prozedurkopf kommt und dann einige Funktionen, oder erst die ganzen Funktionen und dann die Hauptprozedur. Das ist alles eine Frage der Formatierung.
Zitat von Der_Unwissende:
Insbesondere das Variablen aus der umgebenden Funktion verwendet werden können senkt schon alleine die Lesbarkeit. Die dürften sich schwer qualifizieren lassen und sind weder als Parameter übergeben, noch in der Funktion lokal! Habe ich also 3 solcher Funktionen in einer Funktion kann ich erstmal suchen wo welche Funktion aufhört und von der untersten aus suchen, wo die Variablen deklariert sind.
Wenn ich also aus der Prozedur eine Klasse baue, in der die Unterfunktionen private Methode sind, dann muss ich sämtliche Variablen, die vorher lokal in der Funktion deklariert waren, jetzt als Member in die Klasse aufnehmen. Außer einer anderen Quellcode-Formatierung habe ich damit eigentlich nichts gewonnen. Die Trennung der Variablen nach ihrer Verwendung lässt sich nämlich auch mit Nested Procedures bewerkstelligen.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat