Qu'est-ce que la revue de code et pourquoi est-elle importante ?

5 min
842
0
0
Publié le

Lorsqu'on parle de développement logiciel, la qualité du code est un élément crucial à considérer. Les bugs, les erreurs de conception ou encore les failles de sécurité peuvent se révéler très coûteux pour une entreprise. Pour minimiser ces risques, la revue de code est une pratique incontournable. Elle consiste à faire relire le code par un ou plusieurs membres du projet afin de détecter les éventuelles erreurs avant la mise en production. 

Qu’est-ce qu’une revue de code ?

La revue de code, aussi connue sous le nom de « code review », est une pratique courante dans le développement logiciel et applicatif. Elle sert à garantir la qualité des codes produits. 

En effet, le code source est à la fois l'élément de base et le produit principal du travail des développeurs. Il est donc essentiel de soumettre chaque nouvelle portion ou modification de code à une revue de code. En règle générale, cette procédure implique la vérification du travail réalisé par un développeur par un ou plusieurs membres de l'équipe.

L'objectif de la revue de code est double : elle vise à détecter les éventuels bugs avant la mise en production, mais également à améliorer la qualité et la sécurité du code. À l’image d’un comité de lecture avant la publication d’un livre, la revue de code permet d'avoir un regard critique et extérieur sur le travail réalisé. 


Pourquoi faire une revue de code ?

De nombreux avantages sont attachés à la revue de code, parmi lesquels : 

  • L’écriture d’un code propre. Le développeur s'oblige à relire son propre code pour qu'il soit le plus compréhensible possible, ce qui permet d'avoir un code plus lisible et globalement de meilleure qualité. Et, si le code est intégré, cela veut dire qu'au moins deux personnes ont estimé que le code répondait aux standards de qualité édictés.

  • Limitation des bugs. La revue de code révèle au relecteur certains bugs ou des problèmes d’implémentation. Ce dernier peut également suggérer l'ajout de tests unitaires pour des cas qui n'auraient pas été prévus initialement, ce qui améliore de facto la qualité des tests.

  • L’apprentissage. On l’oublie souvent, mais une revue de code est une bonne façon d’apprendre, que ce soit pour l’auteur ou le relecteur ! En effet, le relecteur peut découvrir des bouts de code inédits et inconnus tandis que l'auteur peut être amené à utiliser une technique plus efficace et/ou élégante.

  • Étoffer la documentation. La revue de code est l'occasion de poser des questions pour améliorer la documentation, un processus utile à toute l'équipe.

  • La communication. De par sa nature collective, la revue de code implique l'équipe et la contraint à communiquer. Chacun fait part de ses choix et l’ensemble progresse.

  • La formation. Les nouveaux développeurs qui débarquent sur un projet ne connaissent rien du contexte. La revue de code les aide en leur mettant le pied à l'étrier.


Qui s’occupe de la revue de code ?

Selon les entités, la revue de code est confiée à différents profils. Certaines organisations se reposent sur le lead dev, considéré comme la personne la plus expérimentée et la mieux informée sur le projet pour effectuer cette mission. Cette solution permet une réactivité accrue en cas de problème, mais peut poser des difficultés si le lead dev n'est pas disponible.

Une autre solution consiste à faire appel à plusieurs développeurs seniors. Cette stratégie a l’avantage de profiter de l’expertise de ces derniers. En revanche, le risque réside dans la mise à l'écart des développeurs moins expérimentés.

Justement, pour pallier cela, il est également possible de confier la revue de code à des développeurs juniors. Surprenante au premier abord, cette solution n’en demeure pas moins enrichissante pour un développeur junior qui découvre ainsi de nouvelles façons de travailler. Par contre, il est préférable d’en mobiliser plusieurs, car un seul développeur junior assigné à cette tâche a plus de risque de manquer certains détails importants.

Le choix de l’une de ces méthodes repose entièrement sur les contraintes et les spécificités propres à chaque entité.


Quels sont les outils pour faire une (bonne) revue de code ?

Deux types d’outils se distinguent pour réaliser une revue de code. 

Les outils de versionning

Un système de gestion de versions (VCS) est un logiciel qui permet d'enregistrer et de gérer plusieurs versions d'un fichier ou d'un code source. Il sert de mémoire qui conserve les différentes modifications effectuées (la date et l'heure de chaque sauvegarde), permettant ainsi de retrouver une version antérieure en cas d'erreur ou de problème sur une version actuelle.

L’outil de versionning le plus connu est Github

Les outils de gestion de versions autorisent un travail asynchrone : le développeur peut proposer son code et le relecteur peut le relire plus tard, sans qu'il soit nécessaire que les deux personnes soient disponibles simultanément. Cela diffère de la méthode « d'analyse par-dessus l'épaule », qui exige que les deux parties soient présentes en même temps.

Concrètement, lorsqu'un développeur travaille sur une nouvelle fonctionnalité ou corrige un bug, il le fait sur une branche séparée. Une fois qu'il considère avoir terminé son travail et souhaite que quelqu'un d'autre le relise, il peut ouvrir une « pull request ». Cette demande ouvre une discussion où les modifications de code sont affichées avec un espace pour les commentaires. Les utilisateurs peuvent ajouter des commentaires dans le code ou des commentaires plus généraux sur la demande de fusion.


Les outils d’intégration continue

Les outils d'intégration continue peuvent être liés à l'outil de revue de code pour améliorer la qualité globale d’un projet. En cela, un outil d'intégration continue peut compiler, exécuter des tests automatisés (unitaires, de non-régression, de performance, etc.), calculer le taux de couverture des tests ou encore générer la documentation technique. 

Les outils d'intégration continue les plus connus sont Jenkins, Gitlab-CI et Travis-CI. 

Le Forum

Boostez ensemble votre année de Freelance

Rejoignez la communauté Free-Work pour suivre des conseils et en donner


Boostez vos projets IT

Les meilleures missions et offres d’emploi sont chez Free-Work

Continuez votre lecture autour des sujets :

Commentaire

Dans la même catégorie

MLOps Actualités Informatiques
Découvrez le MLOps, la discipline qui fusionne Machine Learning et DevOps pour automatiser et optimiser le cycle de vie des modèles ML. De l’intégration continue à la surveillance en production, explorez comment cette pratique révolutionne l’ingénierie logicielle.
5 min

Au service des talents IT

Free-Work est une plateforme qui s'adresse à tous les professionnels des métiers de l'informatique.

Ses contenus et son jobboard IT sont mis à disposition 100% gratuitement pour les indépendants et les salariés du secteur.

Free-workers
Ressources
A propos
Espace recruteurs
2024 © Free-Work / AGSI SAS
Suivez-nous