Hi,
ich habe beim Surfen einen "Code-Schnipsel" gefunden, zu dem ich ein paar generelle Fragen habe. Dazu mal ein bißchen Beispiel-Code, da der "Schnipsel" ca. 400Zeilen hatte. Man nehme an, dass die echten Funktionen und Variablen aussagekräftige Namen haben und man beim Lesen die Aufgabe des Programmteils erkennen kann:
Beispiel 1:
Beispiel 2:
Sooo... jetzt die Fragen (vorrausgesetzt, dass es Programmiersprachenunabhängig gilt):
1. Wie sind die Unterschiede der Beispiele bzgl. Verarbeitunggeschwindigkeit?
2. Wie kann ich mir die Verarbeitungsreihenfolge vorstellen? Soll heißen, wenn ich func1( func2() ) aufrufe, wird dann zuerst Speicher etc. für func1() reserviert und dann erst func2() ausgeführt und der Rückgabewert an func1() übergeben, oder läuft erst func2() ab und danach func1() wird mit dem Rückgabewert von func2() gestartet?
3. Welcher Stil wäre besser? Bsp 1 wäre ja Golf, wobei Bsp 2 etwas zu ausführlich ist, oder?
lg,
derpi
ich habe beim Surfen einen "Code-Schnipsel" gefunden, zu dem ich ein paar generelle Fragen habe. Dazu mal ein bißchen Beispiel-Code, da der "Schnipsel" ca. 400Zeilen hatte. Man nehme an, dass die echten Funktionen und Variablen aussagekräftige Namen haben und man beim Lesen die Aufgabe des Programmteils erkennen kann:
Beispiel 1:
Code:
function RootFunc()
{
return func1( func2( func3() );func4( func5( func6() );func7();func8() ) )
}
Beispiel 2:
Code:
function RootFunc()
{
var3 = func3()
var2 = func2(var3)
var6 = func6()
var7 = func7()
var8 = func8()
var5 = func5(var6)
var4 = func4(var5;var7;var8)
var9 = func1(var2;var4)
return var9
}
Sooo... jetzt die Fragen (vorrausgesetzt, dass es Programmiersprachenunabhängig gilt):
1. Wie sind die Unterschiede der Beispiele bzgl. Verarbeitunggeschwindigkeit?
2. Wie kann ich mir die Verarbeitungsreihenfolge vorstellen? Soll heißen, wenn ich func1( func2() ) aufrufe, wird dann zuerst Speicher etc. für func1() reserviert und dann erst func2() ausgeführt und der Rückgabewert an func1() übergeben, oder läuft erst func2() ab und danach func1() wird mit dem Rückgabewert von func2() gestartet?
3. Welcher Stil wäre besser? Bsp 1 wäre ja Golf, wobei Bsp 2 etwas zu ausführlich ist, oder?
lg,
derpi
Zuletzt bearbeitet: