2 votes

Comment traiter les erreurs avec un minimum de complexité et un seul retour ?

Je veux éviter d'utiliser les multiples retours dans mes fonctions, mais je ne vois pas comment les interrompre sans ajouter beaucoup de else dans un cas comme celui-ci :

public function foo($number)
{
    if ($number > 8)
    {
        return ' > 8';
    }

    if (exist($number))
    {
        return $number . ' exist';
    }

    return $this->bar($number);
}

Mon cas d'utilisation est d'afficher un message d'erreur pour certains cas invalides et de ne pas exécuter ce qui reste dans la fonction.

2voto

rap-2-h Points 510

Vous pourriez faire quelque chose comme ça :

public function foo($number)
{
    if ($number > 8) {
        $return_value = ' > 8';
    } elseif (exist($number)) {
        $return_value = $number . ' exist';
    }

    return $return_value ?? $this->bar($number);
}

Mais, à ma connaissance, les retours multiples sont acceptables, puisque les fonctions sont suffisamment lisibles. L'une de mes principales préoccupations est d'avoir une petite fonction, de quelques lignes seulement, afin que je n'aie pas à la faire défiler et que je puisse la comprendre en quelques secondes. Donc, même s'il y a trois return les cas, c'est toujours lisible.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X