Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • por almarag (7381) el Miércoles, 02 Marzo de 2011, 06:05h (#1268978)
    ( http://almarag.wordpress.com/ | Última bitácora: Domingo, 04 Noviembre de 2012, 17:19h )
    Lo de los comentarios me lo atribuyo gratuito, jamás dije que tú comentaras algo de eso. Por lo demás que comentas, es una buena forma de verlo pero a mi me sigue siendo visualmente incómodo (para mi forma de verlo, el else if sigue siendo parte del primer bloque lógico, por ello no me gusta separarlo aunque haya anidaciones). Por otra parte, y ya que mencionas los if else anidados, generalmente si son más de 3 o 4 if else prefiero usar switch, sobre todo porque más allá empiezan a ser muy engorrosos y difíciles de depurar y mantener (sobre todo cuando tienes mucho código con varias decisiones seguidas. Pero insisto, es mi muy particular forma de verlo.

    Saludos,
    --
    -- Si yo no soy yo, entonces tú no eres quien dices
    [ Padre ]
    Puntos de inicio:    1  punto
    Modificador por Bonus-Karma   +1  

    Total marcador:   2  
  • por DanielSan (10124) el Miércoles, 02 Marzo de 2011, 12:56h (#1269037)
    ( http://guslibu.awardspace.com/ | Última bitácora: Viernes, 18 Marzo de 2011, 08:29h )
    Un switch hace lo mismo que varios if anidados con condiciones compuestas por una variable y un valor. Está muy bien optimizar eso, pero no siempre es tan simple.

    No sirve cuando tomas decisiones en función de otros tipos de condiciones simples, como para elegir una opción según varios rangos de valores de una variable (30000 opción D...). ¿Cómo hago eso con un switch?
    [ Padre ]
  • por DanielSan (10124) el Miércoles, 02 Marzo de 2011, 13:02h (#1269040)
    ( http://guslibu.awardspace.com/ | Última bitácora: Viernes, 18 Marzo de 2011, 08:29h )
    // No todo se puede hacer con switch:
    if (n<=0)
          z();
    else if (n<=1000)
          a();
    else if (n<=5000)
          b();
    else if (n<=30000)
          c();
    else
          d();
    [ Padre ]