Em um debate sobre variáveis de retorno, alguns membros da equipe preferem um método para retornar o resultado diretamente ao chamador, enquanto outros preferem declarar uma variável de retorno que é retornada ao chamador (veja exemplos de código abaixo)
O argumento para o último é que ele permite que um desenvolvedor que esteja depurando o código encontre o valor de retorno do método antes de retornar ao chamador, facilitando assim a compreensão do código: Isso é especialmente verdade quando as chamadas de método são encadeadas.
Existem diretrizes sobre qual é a mais eficiente e / ou existem outras razões pelas quais devemos adotar um estilo em detrimento de outro?
obrigado
private bool Is2(int a)
{
return a == 2;
}
private bool Is3(int a)
{
var result = a == 3;
return result;
}
stloc.0
e ldloc.0
na segunda versão). Mas acho que isso acontece apenas no modo de depuração. E não é realmente importante aqui de qualquer maneira.
a = b = c;
e a == b == c
, eu evitaria escrever algo que se parecesse a = b == c
se você puder. Quando vi pela primeira vez uma linha de código assim, levei alguns segundos para descobrir o que estava acontecendo. Esse código se destacou. Gostaria de dar um tapa entre parênteses a == 3
, mas o StyleCop não gosta - um bom motivo para usar a versão número um. Outra coisa: isso é essencialmente um lambda, como a => (a == 3)
. Por que adicionar uma linha de código a uma função trivial já inchada?
result
lo antes de devolvê-lo.