In un dibattito sulle variabili di ritorno, alcuni membri del team preferiscono un metodo per restituire il risultato direttamente al chiamante, mentre altri preferiscono dichiarare una variabile di ritorno che viene quindi restituita al chiamante (vedere esempi di codice di seguito)
L'argomento di quest'ultimo è che consente a uno sviluppatore che sta eseguendo il debug del codice di trovare il valore di ritorno del metodo prima che ritorni al chiamante, facilitando così la comprensione del codice: ciò è particolarmente vero quando le chiamate al metodo sono concatenate.
Ci sono delle linee guida su quale sia il più efficiente e / o ci sono altri motivi per cui dovremmo adottare uno stile piuttosto che un altro?
Grazie
private bool Is2(int a)
{
return a == 2;
}
private bool Is3(int a)
{
var result = a == 3;
return result;
}
stloc.0
e ldloc.0
nella seconda versione). Ma penso che ciò avvenga solo in modalità Debug. E comunque non è molto importante qui.
a = b = c;
e a == b == c
, eviterei di scrivere qualcosa che assomigli a = b == c
se puoi. Quando ho visto per la prima volta una riga di codice simile, mi ci sono voluti alcuni secondi per capire cosa stesse succedendo. Quel codice si è distinto. Vorrei dare una a == 3
pacca sulla parentesi , ma a StyleCop non piace - un buon motivo per usare la versione numero uno. Qualcos'altro: questo è essenzialmente un lambda, come a => (a == 3)
. Perché aggiungere una riga di codice a una funzione banale già gonfia?
result
prima di restituirlo.