W debacie dotyczącej zmiennych zwracanych niektórzy członkowie zespołu wolą metodę zwracania wyniku bezpośrednio do dzwoniącego, podczas gdy inni wolą zadeklarować zmienną zwrotną, która jest następnie zwracana do dzwoniącego (patrz przykłady kodu poniżej)
Argumentem tego drugiego jest to, że pozwala programistom debugującym kod znaleźć wartość zwracaną przez metodę, zanim powróci ona do programu wywołującego, ułatwiając w ten sposób zrozumienie kodu: Jest to szczególnie prawdziwe, gdy wywołania metod są połączone szeregowo.
Czy istnieją jakieś wytyczne dotyczące tego, który jest najbardziej wydajny i / lub czy istnieją inne powody, dla których powinniśmy stosować jeden styl nad drugim?
Dzięki
private bool Is2(int a)
{
return a == 2;
}
private bool Is3(int a)
{
var result = a == 3;
return result;
}
stloc.0
iw ldloc.0
drugiej wersji). Ale myślę, że dzieje się to tylko w trybie debugowania. Poza tym i tak nie jest to tak naprawdę ważne.
a = b = c;
i a == b == c
unikałbym pisania czegoś, co wygląda, a = b == c
jeśli możesz. Kiedy po raz pierwszy zobaczyłem taki wiersz kodu, zajęło mi kilka sekund, aby dowiedzieć się, co się dzieje. Ten kod wyróżniał się. Chciałbym a == 3
obrócić nawias , ale StyleCop go nie lubi - dobry powód, aby użyć wersji numer jeden. Coś innego: jest to w zasadzie lambda, na przykład a => (a == 3)
. Po co dodawać wiersz kodu do już rozdętej, trywialnej funkcji?
result
przed jego zwróceniem.