У дебатах щодо змінних повернень деякі члени команди віддають перевагу методу повернення результату безпосередньо абоненту, тоді як інші вважають за краще оголосити змінну повернення, яка потім повертається абоненту (див. Приклади коду нижче)
Аргумент останнього полягає в тому, що він дозволяє розробнику, який налагоджує код, знайти повернене значення методу до того, як він повернеться до абонента, тим самим полегшивши розуміння коду: Це особливо актуально, коли виклики методів пов'язані з ромашками.
Чи є якісь вказівки щодо того, який є найефективнішим та / або є якісь інші причини, чому ми повинні прийняти один стиль над іншим?
Спасибі
private bool Is2(int a)
{
return a == 2;
}
private bool Is3(int a)
{
var result = a == 3;
return result;
}
stloc.0
і ldloc.0
у другій версії). Але я думаю, що це відбувається лише в режимі налагодження. І це все одно не дуже важливо.
a = b = c;
і a == b == c
, я б уникав писати щось, що схоже, a = b == c
якщо можете. Коли я вперше побачив такий рядок коду, мені знадобилося кілька секунд, щоб зрозуміти, що відбувається. Цей код виділявся. Я хотів би заплести дужки навколо a == 3
, але StyleCop це не любить - вагомий привід використовувати версію номер один. Ще щось: це по суті лямбда, наприклад a => (a == 3)
. Навіщо додати рядок коду до вже роздутої тривіальної функції?
result
перш ніж повернути його.