Pourquoi la revue de code est une étape cruciale dans le développement ?

Définition, exemple, bonnes pratiques et ressources. Tout sur la revue de code !

La revue de code, tu en as peut être déjà entendu parler ? Tu as peut être même déjà participé à une revue de code ? Le but de cet article est de te présenter ce qu’est une revue de code, pourquoi c’est une étape clé, quelques bonnes pratiques ainsi quelques articles complémentaires si tu souhaites approfondir le sujet.

Programme :

Introduction

Dans le milieu du développement informatique, la complexité du code ne cesse de croitre. Les applications deviennent de plus en plus sophistiquées, intégrant parfois une multitude de fonctionnalités et interagissant avec d’autres systèmes.

Pour garantir une stabilité dans cette complexité, la qualité du code est un élément majeur. Un code de qualité est le fondement sur lequel reposent la fiabilité, la maintenabilité et l’évolutivité d’un logiciel. Sans une attention particulière portée à la qualité, les projets peuvent rapidement devenir ingérables :

  • difficulté à faire évoluer le projet
  • difficulté à identifier et corriger les bugs
  • difficulté à garder des développeur.se.s impliqué.e.s sur le projet
  • retards dans les développements
  • etc.

La revue de code est un outil pour faire face à ces défis.

Qu’est ce qu’une revue de code ?

La revue de code est un processus au cours duquel un ou plusieurs développeur.se.s examinent le code écrit par un.e collègue pour identifier les erreurs, proposer des améliorations et s’assurer que le code respecte les normes de l’équipe et de l’industrie (conventions du langage, d’un framework, d’un projet, bonnes pratiques, etc.).

Elle est essentielle à la fois pour former les développeur.se.s à des bonnes pratiques et des conventions et pour maintenir un haut niveau de qualité dans des projets de plus en plus complexes.

Voici concrètement comment peut se dérouler une revue de code :

Déroulé

Imagine une équipe de développement composée de cinq développeurs : Alice, Bruno, Chloé, Walim et Émilie. Alice vient de terminer le développement d’une nouvelle fonctionnalité pour l’application sur laquelle l’équipe travaille. Avant d’intégrer son code dans la branche principale, elle soumet une pull request sur la plateforme de gestion de code utilisée par l’équipe (comme GitHub ou GitLab).

Alice invite ses collègues Bruno, Chloé et Walim à examiner son code. Voici comment se déroule la revue de code :

  1. Préparation : Chacun des trois relecteurs prend le temps de lire le code d’Alice. Ils examinent les modifications apportées, essaient de comprendre l’objectif de la fonctionnalité et comment elle s’intègre dans le reste du projet.
  2. Discussion en équipe : Les développeurs se réunissent (physiquement ou virtuellement) pour discuter du code. Ils soulèvent des questions, des préoccupations ou des suggestions d’amélioration. Par exemple :
    • Bruno remarque que certaines variables pourraient avoir des noms plus explicites pour améliorer la lisibilité.
    • Chloé suggère une optimisation pour réduire le temps d’exécution d’une fonction critique.
    • Walim identifie une possible faille de sécurité liée à la validation des entrées utilisateur.
  3. Feedback constructif : Les relecteurs formulent leurs commentaires de manière bienveillante et constructive. Ils utilisent des phrases comme « Que penses-tu de… » ou « Il pourrait être intéressant de… », favorisant ainsi un échange positif.
  4. Révision du code : Alice prend en compte les retours de ses collègues. Elle apporte les modifications nécessaires, explique ses choix lorsque c’est pertinent, et peut même engager une discussion plus approfondie si des points de vue divergent.
  5. Validation : Une fois les ajustements effectués et le code validé par les relecteurs, la pull request est approuvée. Le code peut alors être fusionné dans la branche principale et déployé.

Important, il s’agit un exemple, chaque entreprise ou équipe aura sa propre organisation d’une revue de code : cadre, déroulé, outil, règles à suivre, moment de la revue dans le cycle de vie du projet, etc.

Pourquoi les revues de code sont importantes ?

L’exemple précédent illustre comment une revue de code se déroule de manière pragmatique au sein d’une équipe. Cette revue de code est importante car elle permet de :

  • Améliorer la qualité du code : Les erreurs sont détectées et corrigées avant que le code ne soit déployé.
  • Favoriser le partage de connaissances : Les développeur.e.s apprennent les uns des autres, découvrent de nouvelles techniques ou solutions.
  • Assurer la conformité aux standards : Le respect des normes de codage et des bonnes pratiques est vérifié, garantissant une certaine homogénéité dans la code base.
  • Renforcer la cohésion d’équipe : La collaboration et la communication sont encouragées, ce qui améliore le travail en équipe.

La revue de code est donc bien plus qu’une simple vérification technique. C’est un outil essentiel pour gérer la complexité croissante d’un projet, tout en améliorant continuellement les compétences individuelles et collectives au sein d’une équipe de développement.

5 bonnes pratiques pour une bonne revue de code

1. Comprendre et expliquer le contexte

Avant de commencer une revue de code, il est important que le contexte du code soit compris par tout le monde. Pourquoi ce code a t-il été écrit ? Quelle est la fonctionnalité derrière ? Quelle est la problématique rencontrée ? Etc.

2. Cibler des petites portions de code

Pour que chacun puisse contribuer dans une revue de code, il faut que le code à analyser ne soit pas trop conséquent. Sinon, il devient à la fois compliqué de l’appréhender dans son ensemble et d’être en capacité de décortiquer sa complexité rapidement. Il vaut mieux donc se concentrer sur de petites portions de code.

3. Automatisez et définissez des conventions

Avant la revue de code, il est important à la fois que le code soit testé unitairement et que celui-ci soit en conformité avec les outils en place : linter, analyseur statique, etc. Cela permet à la fois d’éviter de traiter des sujets qui auraient pu être vus automatiquement avant la revue de code et aussi de pouvoir contrôler rapidement certaines suggestions de changement.

Des conventions liées à certaines bonnes pratiques peuvent être mises en place dans l’équipe pour éviter parfois des débats stériles. Exemple :

// Est ce qu'on écrit 
if ($condition === true) { ... }

// Ou
if (true === $condition) { ... }

4. Adopter une approche bienveillante et constructive

Les revues de code doivent être des discussions ouvertes et respectueuses. Il faut éviter le ton impératif, poser des questions, privilégier les suggestions, etc. Il ne faut jamais oublier qu’on est une équipe et qu’une équipe doit progresser collectivement.

5. Ne pas négliger la sécurité

Les revues de code sont aussi l’occasion de passer en revue les potentielles failles de sécurité d’un code. Validation des données côté client ET côté serveur, nettoyage des données, traitement des données sensibles, etc. Toutes ces thématiques stratégiques doivent être abordées lors d’une revue de code.

Aller + loin

Cet article se veut une introduction à la revue de code. Si tu réalises les challenges de code de Tainix, n’hésite pas à partager ton code avec quelqu’un d’autre et échangez sur les bonnes pratiques ou optimisations possibles, ce sera une première revue de code !

Et si tu veux aller + loin, voici une sélection d’articles qui te permettront de te rendre compte que la revue de code est un sujet vaste ! Ce qui est important c’est de commencer avec quelques règles pour structurer sa première revue de code puis de s’autoriser à faire évoluer ses règles avec le temps, selon la complexité de son projet, la taille de son équipe, etc.

Articles intéressants :

  • Zeste de savoir : L’importance des revues de code pour assurer la qualité et la sécurité du produit
  • FreeCodeCamp : L’importance d’être zen pendant une revue de code (en anglais)
  • Axify : 8 étapes essentielles d’une revue de code
  • Marmelab : Les 10 préceptes (de Yoda) de la revue de code
  • Mindsers : Comment faire une bonne revue de code
  • Github : Comment faire une revue de code efficace (en anglais)
  • Code Academy : Comment analyser le code de quelqu’un d’autre (en anglais)

Conclusion

La revue de code est un processus incontournable dans le développement moderne. En suivant ces bonnes pratiques, tu garanties non seulement la qualité de ton code, mais aussi un environnement d’apprentissage et de collaboration fructueux !


Qui a codé ce superbe contenu ?

Keep learning

Other content to discover