Cita:
Iniciado por aguml
Te doy un consejo que me dieron a mi hace mucho. "Un return por funcion". Nada de 20 return repartidos por toda la función. Pon un return al final y que retorne el valor de una variable y lo que tienes que modificar es el valor de esa variable en los sitios deseados. Muchos return hace que el código cueste más interpretarlo y que tengas fallos como lo que por ejemplo te pasa en el tuyo, que sales con un return y no cierras el fichero por ejemplo.
Si miras en los códigos de ejemplo de la msdn veras que usan muchos return pero que ibas a esperar de Microsoft jajaja.
Como norma general lo secundo, pero únicamente como norma general.
Si se da el caso que con varios return se mejora la legibilidad del código entonces habría que considerar esa vía.
Opción A:
Código C:
Ver originalvoid func()
{
if( condicion1 )
{
// algunas operaciones
if( condicion2 )
{
// algunas operaciones
if( condicion3 )
{
// algunas operaciones
if( condicion4 )
{
// algunas operaciones
}
}
}
}
}
Opción B:
Código C:
Ver originalvoid func()
{
if( !condicion1 )
return;
// algunas operaciones
if( !condicion2 )
return;
// algunas operaciones
if( !condicion3 )
return;
// algunas operaciones
if( !condicion4 )
return;
// algunas operaciones
}
Quizás así no se aprecia bien... pero si sustituyes "algunas operaciones" por código real, con sus propios condicionales, bucles y demás parafernalia se ve mejor... y si encima estás en una empresa en la que limitan el tamaño de la línea a 80 caracteres, por ejemplo, ni te cuento.
Al final yo creo que la mejor solución depende de cada caso en concreto, pero es mi opinión al fin y al cabo.
Un saludo