Transformar IFs anidados en SWITCH .. CASE por claridad:
La duda es casi como "ser o no ser" .. sera que si ?
Hace años que me debato entre hacer transformaciones rapidas que me permitan trabajar anidamientos de IF de forma lineal con SWITCH-CASE, esta muy mal ? :)
Ejemplo...
Código PHP:
Ver originalif ($condA)
if (condB)
return fAB();
else
return fAnoB();
else
if (condB)
return fnoAB();
else
return fnoAnoB();
Transformacion ...
Código PHP:
Ver originalswitch ($condA*10 + condB)
{
case (11): return fAB();
case (10): return fAnoB();
case (01): return fnoAB();
case (00): return fnoAnoB();
}
Otra posible transformacion ...
Código PHP:
Ver originalswitch ($condA*2 + condB)
{
case (3): return fAB();
case (2): return fAnoB();
case (1): return fnoAB();
case (0): return fnoAnoB();
}
En general puedo pasar algo N-dimensional a uni-dimensional con este tipo de transformaciones con un costo muy pequeño en tiempo de ejecucion.
PD:
es un ejemplo... logicamente no tienen porque ser "returns" en los CASEs