¿Eres one-liner?

Pocas satisfacciones hay en la vida mayores que las de escribir un código muy complejo y difícil de entender en una única línea de código. Nos sentimos en la cúspide del olimpo de los dioses de la programación.

Seguramente no verás ningún problema con este código:

$p = -10;
$array = [];
while(++$p) { $array[] = "$p "; }
print_r($array);
echo PHP_EOL;

¿Adivinas cuál es el resultado?

Pues el resultado es éste:

Array
 (
     [0] => -9 
     [1] => -8 
     [2] => -7 
     [3] => -6 
     [4] => -5 
     [5] => -4 
     [6] => -3 
     [7] => -2 
     [8] => -1 
 )

No era fácil predecir ¿verdad?

¿No crees que así sería más sencillo de leer?

$p = -9;
$array = [];
while($p<0) {
    $array[] = $p;
    $p++;
}
print_r($array);
echo PHP_EOL;

O incluso así:

$array = [];
for($i=-9; $i<0; $i++) {
    $array[] = "$i ";
}
print_r($array);
echo PHP_EOL;

¿Hace cuánto que no veías un bucle for en PHP?

Y bueno, ya que estamos en PHP pues podemos hacer ésto:

print_r(range(-9, -1, 1));

¿Qué problema hay en escribir líneas de código complejas?

En primer lugar es muy perjudicial para la salud. El resto del equipo puede querer hacerle cosas muy dolorosas a tu cuerpo. Y por mucho que te guste el sado no te van a agradar si se deciden a aplicarte tu merecido castigo.

Este tipo de código no hace más que complicar la legibilidad de tu código (¿por qué la palabra «legibilidad» es tan difícil de pronunciar?). Y salvo que ganemos mucho en rendimiento hacer código difícil de leer no es una buena idea a corto/medio/largo plazo.

Me siento solo, dime algo...