Dans un débat sur les variables de retour, certains membres de l'équipe préfèrent une méthode pour retourner le résultat directement à l'appelant, tandis que d'autres préfèrent déclarer une variable de retour qui est ensuite renvoyée à l'appelant (voir les exemples de code ci-dessous)
L'argument pour ce dernier est qu'il permet à un développeur qui débogue le code de trouver la valeur de retour de la méthode avant qu'il ne revienne à l'appelant, ce qui rend le code plus facile à comprendre: Cela est particulièrement vrai lorsque les appels de méthode sont connectés en guirlande.
Existe-t-il des directives pour déterminer laquelle est la plus efficace et / ou existe-t-il d'autres raisons pour lesquelles nous devrions adopter un style plutôt qu'un autre?
Merci
private bool Is2(int a)
{
return a == 2;
}
private bool Is3(int a)
{
var result = a == 3;
return result;
}
stloc.0
et ldloc.0
dans la deuxième version). Mais je pense que cela ne se produit qu'en mode débogage. Et ce n'est pas vraiment important ici de toute façon.
a = b = c;
et a == b == c
, j'éviterais d'écrire quelque chose qui ressemble a = b == c
si vous le pouvez. Quand j'ai vu pour la première fois une ligne de code comme ça, il m'a fallu quelques secondes pour comprendre ce qui se passait. Ce code s'est démarqué. Je voudrais gifler les parenthèses a == 3
, mais StyleCop ne l'aime pas - une bonne raison d'utiliser la version numéro un. Autre chose: c'est essentiellement un lambda, comme a => (a == 3)
. Pourquoi ajouter une ligne de code à une fonction triviale déjà gonflée?
result
avant de le renvoyer.