Revues de code (Code Reviews)

Quelques raccourcis :

Étant enseignant depuis plus de deux décennies (au moment d'écrire ces lignes), je me suis trouvé, dans l'exercice de mes fonctions, à lire une vaste quantité de code... de qualité très variable, bien sûr, du fait que plusieurs des « autrices » et « auteurs » de programmes que je côtoie sont des débutantes et des débutants.

Offrant parfois des formations en entreprise et des « classes de maître », je suis aussi en mesure de constater que l'expertise en termes d'écriture de code de qualité varie beaucoup selon les individus et leur vécu. Les causes de cette disparité sont assurément multifactorielles, et je ne compte pas me lancer dans une étude sociologique sur le sujet (j'espère que vous me le pardonnerez).

Outre l'expérience, l'un des facteurs qui influence le plus le développement de la Praxis, de la pratique de la programmation, est la capacité de poser un regard critique (mais constructif) sur son propre travail; d'appliquer une forme d'introspection sur cette projection de la pensée qu'est la programmation (pratique métacognitive s'il en est une!). Il se trouve que, comme le savent celles et ceux dont la production comporte une part d'écrit (étudiantes et étudiants, professeures et professeurs, mais probablement toute autrice ou tout auteur de manière générale), il devient difficile d'avoir un regard critique et efficace sur son propre travail : je sais que certains de mes textes sont passés à travers des dizaines de révisions et de mises à jour... et comportent encore des erreurs, des coquilles, sans doute en partie parce qu'après avoir vu un texte assez longtemps, nos yeux ne le voient plus dans le détail.

Le texte devient une abstraction, où l'on voit des mots qui n'y sont pas parce que notre pensée est convaincue qu'ils y sont. C'est une des (nombreuses!) raisons pour lesquelles nous avons recours à « d'autres paires d'yeux » : qu'il s'agisse d'amis, de collègues, d'une éditrice ou d'un éditeur, etc. ce regard extérieur aide à réduire les risques d'erreurs, à accroître la qualité du texte, et même à clarifier le propos sur la base d'un regard neuf et extérieur.

Rôle d'une revue de code

https://pbs.twimg.com/media/DJkVpLZVwAAfICD.jpg

La revue de code, ou Code Review, est une pratique par laquelle, sur une base régulière, une programmeuse ou un programmeur présente son code source à des pairs (ou encore à une enseignante ou un enseignant) pour obtenir une rétroaction. Ceci tend à faciliter le dépistage de bogues (plusieurs têtes valent mieux qu'une).

Cette rétroaction peut viser à :

Je ne prendrai pas position dans ce texte sur ces divers sujets; si vous souhaitez connaître ma perspective sur ces sujets,vous trouverez sûrement cette information ailleurs sur h-deb.

L'important est que, si une entreprise (ou, de manière plus large, si le milieu dans lequel évolue l'autrice ou l'auteur du code) souhaite assurer le respect de certaines règles (p. ex. : si elle applique un standard de programmation particulier), la revue de code est une occasion de s'assurer que le code proposé n'est pas en contravention de cette attente.

Notez qu'il y a une différence entre s'assurer que des règles sont respectées et poser un jugement esthétique sur la qualité du code : des aspects comme « ce nom est-il trop court? Est-il trop long? » peuvent parfois être régulées objectivement, mais un aspect comme « ce nom est-il clair? Est-il judicieux? S'intègre-t-il harmonieusement dans le contexte plus général à l'intérieur duquel il apparaît? » s'y prêtent beaucoup moins.

Forme d'une revue de code

Une revue de code peut prendre plusieurs formes, selon les circonstances et les besoins. Entre autres :

La forme à

 

Volet humain de la revue de code

 

 

Perspective de l'autrice ou de l'auteur du code sous examen

 

Perspective de celles et ceux réalisant la revue de code

 

Enjeux de la rétroaction

 

Rétroaction écrite

 

Rétroaction verbale

 

 

À ce sujet :


Valid XHTML 1.0 Transitional

CSS Valide !