É ruim usar retorno no início de uma função para evitar trabalhos desnecessários? [fechadas]
Digamos que temos uma função foo () e uma barra de bool. O trabalho realizado não serve para nada se bar for falso. Qual é a maneira mais adequada de escrever foo ()?
1
foo() {
if(!bar)
return;
doWork();
}
2
foo() {
if(bar)
doWork();
}
A opção 1 tem a vantagem estética de que doWork () (ou seja, o restante da função) não é recuado, mas a desvantagem de que, se você não olhar para a declaração de retorno antecipado, pode assumir que doWork () é chamado sempre você chama foo ().
Em geral, é uma má prática codificar no estilo 1 ou deve ser uma preferência pessoal?