La revue de code : brouillon d’idées

La revue de code est un processus visant à améliorer de manière continue la qualité du code produit par une équipe de développement. Cette pratique est tout aussi importante que les tests unitaires mais pourtant, à ma connaissance, moins d’outils existent pour aider à cette revue. Et sans bon outil, simple et pratique à utiliser, on ne permet pas son adoption.

Le seul outil que j’ai rencontré est l’interface de BitBucket qui permet d’approuver les commits et éventuellement de commenter une ligne. Une fois approuvé ou commenté, le commit hérite d’une petite icone dans la vue d’ensemble. Il est possible de voir les « Reviewers » du commit, les informations sont visibles mais l’interface reste (selon mon avis très critique) peu adaptée à du code review.

Pourquoi faire de une revue

(liste non exhaustive):

  • voir les développements des autres membres de l’équipe
  • déceler les problèmes de sécurité et de performance
  • faire remarquer les noms de variables non explicites, les fonctions dépréciées, le code en doublons, le refactoring à faire
  • vérifier les tests unitaires, la couverture du code, les cas non traités
  • permettre l’échange de bonne pratiques

Process

Afin de garantir une bonne qualité, le mieux serait que chaque développeur (ainsi que des éventuelles personnes externes) puissent approuver une liste de commit données, y compris son propre travail.

Prototype

Il faudrait une interface simple permettant de visualiser les modifications de ce commit et d’ajouter une question, une remarque ou d’approuver le commit avant de passer au suivant (donc une naviguation simple entre commit suivant/ precedent). Sur cette interface le reviewer devrait pouvoir voir l’ensemble des remarques et avis des autres reviewers.

Prototype de code review

Prototype de code review

A ce moment, la création d’une remarque qui bloquerait le commit (faille de sécurité, refactoring nécessaire, …) entrainerait la création d’un ticket dans un système lié (ou externe de type Mantis, Bugzilla, Jira, …).

Après avoir commenté ou approuvé toute la liste de commit, le reviewer doit pouvoir accéder à une interface listant l’ensemble de ses commits indiquant les remarques ou questions et se chargerait de :

  • répondre aux questions
  • planifier la correction des tickets (liés aux remarques)
Prototype, l'après code-review

Prototype – résultat de ses commits persos

Cette application viserait une revue de code individuelle, car, sur une petite équipe de quatre ou cinq personne la revue pourrait se faire en groupe, autour d’un même écran où les développeur parlerait de leur code à tour de rôle.

Je n’ai pas trouvé trop de ressources sur le sujet mais n’hésitez pas à partager vos méthodes, outils ou logiciels utilisés.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s