Ver Mensaje Individual
  #13 (permalink)  
Antiguo 06/11/2015, 01:50
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 5 meses
Puntos: 204
Respuesta: Hacer dos comprobaciones en un WHILE con funciones

Cita:
Iniciado por aguml Ver Mensaje
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 original
  1. void func()
  2. {
  3.   if( condicion1 )
  4.   {
  5.     // algunas operaciones
  6.  
  7.     if( condicion2 )
  8.     {
  9.       // algunas operaciones
  10.  
  11.       if( condicion3 )
  12.       {
  13.         // algunas operaciones
  14.  
  15.         if( condicion4 )
  16.         {
  17.           // algunas operaciones
  18.         }
  19.       }
  20.     }
  21.   }
  22. }

Opción B:
Código C:
Ver original
  1. void func()
  2. {
  3.   if( !condicion1 )
  4.     return;
  5.  
  6.   // algunas operaciones
  7.  
  8.   if( !condicion2 )
  9.     return;
  10.  
  11.   // algunas operaciones
  12.  
  13.   if( !condicion3 )
  14.     return;
  15.  
  16.   // algunas operaciones
  17.  
  18.   if( !condicion4 )
  19.     return;
  20.  
  21.   // algunas operaciones
  22. }

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
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.