Code élégant #2 : sortir au plus tôt de la fonction, le early return

Publié il y a 3 ans par Quentin

Aujourd'hui nous allons voir une astuce de code qui permet de facilement réduire le niveau d'indentation de nombreuses fonctions si celle-ci n'est pas appliquée.

Voici un exemple de code que l'on voit assez souvent chez des débutants en programmation ou chez des personnes qui ne se soucient pas de la lisibilité de leur code :

Bien que ce code est fonctionnel, il contient beaucoup d'indentation. Si la partie sauvegarde venait à être plutot longue, on se retrouve alors à chercher dans quelle condition on se trouve une fois arrivé vers la fin.

Pour éviter ce genre de code, on utilise ce qu'on appelle l'early return. Son principe est simple : votre fonction doit finir le plus tôt possible dans son code source. Le but n'est pas de faire le code le plus compacte possible mais d'éviter à quelqu'un de lire toute la fonction à chaque cas de figure.

Pour faire ça, il suffit de structurer ses fonctions de la manière suivante :

  1. Vérification des entrées
  2. Vérification des erreurs
  3. actions de la méthode

Si une erreur survient lors de la vérification des entrées alors vous devez de suite sortir de la fonction en utilisant return ou en lançant une exception. Ça ne sert à rien d'aller plus loin. De même lors de la vérification des erreurs.

Au final en appliquant ça, on fini avec une fonction qui ressemble à ça :

Comme notre précédente astuce élégante, on peut aussi rendre le code plus compact en combinant les différentes conditions :

Bien sûr cette méthode n'est pas systématiquement applicable à toutes les fonctions mais savoir programmer c'est aussi savoir reconnaitre quand un code peut être plus lisible et c'est donc à vous de ne pas oublier de le faire quand une fonction le permet.