In einer Debatte über Rückgabevariablen bevorzugen einige Mitglieder des Teams eine Methode, um das Ergebnis direkt an den Aufrufer zurückzugeben, während andere es vorziehen, eine Rückgabevariable zu deklarieren, die dann an den Aufrufer zurückgegeben wird (siehe Codebeispiele unten).
Das Argument für Letzteres ist, dass ein Entwickler, der den Code debuggt, den Rückgabewert der Methode finden kann, bevor er zum Aufrufer zurückkehrt, wodurch der Code besser verständlich wird: Dies gilt insbesondere, wenn Methodenaufrufe in einer Kette vorliegen.
Gibt es Richtlinien, welche am effizientesten sind, und / oder gibt es andere Gründe, warum wir einen Stil über einen anderen stellen sollten?
Vielen Dank
private bool Is2(int a)
{
return a == 2;
}
private bool Is3(int a)
{
var result = a == 3;
return result;
}
stloc.0
und ldloc.0
in der zweiten Version). Aber ich denke, das passiert nur im Debug-Modus. Und hier ist es sowieso nicht wirklich wichtig.
a = b = c;
und a == b == c
, würde ich es vermeiden, etwas zu schreiben, das aussieht, a = b == c
wenn Sie können. Als ich zum ersten Mal eine solche Codezeile sah, brauchte ich ein paar Sekunden, um herauszufinden, was los ist. Dieser Code ragte heraus. Ich würde gerne Klammern setzen a == 3
, aber StyleCop mag das nicht - ein guter Grund, Version eins zu verwenden. Noch etwas: Dies ist im Wesentlichen ein Lambda, wie z a => (a == 3)
. Warum einer bereits aufgeblähten Trivialfunktion eine Codezeile hinzufügen?
result
bevor Sie es zurückgeben.