Mejora tus if en PHP

Echa un vistazo a este código y contesta rápidamente ¿qué hace el if?

class Coche
{
    const CAPACIDAD = 60;
    public $combustible = 0;
 
    public function repostar($litros)
    {
        if ( $this->combustible + $litros < self::CAPACIDAD )  {
            $this->combustible += $litros;
        }
    }
}

No nos cuesta mucho ver que ese if comprueba si hay sitio para el combustible que estamos repostando sumando el combustible actual más los litros que añadimos. No cuesta mucho verlo pero hay que hacer un pequeño esfuerzo.

Ahora vamos a crear un nuevo método con un nombre descriptivo y vamos a meter esa comprobación dentro:

private function cabeCombustible($litro)
{
    return $this->combustible + $litros < self::CAPACIDAD;
}

Ahora podemos modificar el if que quedará mucho más fácil de entender sin ningún esfuerzo:

if ( $this->cabeCombustible($litros) )  {
    $this->combustible += $litros;
}

Sí, ya sé, si quiero leer la condición tengo que irme al otro método. Cierto, pero cuando estás intentando descrifrar un código quieres tener una visión general de forma rápida, no perderte en los detalles. Si luego quieres ver los detalles ya entrarás en ese método para ver qué contiene.

Deja un comentario