Webinaire en vedette : Dévoilement de Parasoft C/C++test CT pour l'excellence en matière de tests continus et de conformité | Voir le séminaire

Éliminez ces 7 mauvaises habitudes pour des évaluations plus efficaces du code par les pairs

Portrait d'Arthur Hicken, évangéliste chez Parasoft
12 octobre 2023
6 min lire

Il a été prouvé qu’une bonne technique de révision du code par les pairs augmente la qualité des logiciels. Voici quelques conseils pour éviter les pratiques nuisibles qui pourraient rendre vos révisions de code inutiles.

Introduction à la révision du code par les pairs

Les logiciels, sous leurs nombreuses formes, alimentent notre monde moderne, depuis les applications sur nos smartphones jusqu'aux systèmes complexes exécutés en arrière-plan des infrastructures critiques de différents secteurs. Pour que ces systèmes logiciels restent efficaces, les codes qui y sont exécutés doivent être exempts de bogues, avoir la bonne logique et respecter les normes de sûreté et de sécurité de l'industrie. L'un des moyens d'y parvenir consiste à procéder à des examens de code par les pairs.

Les revues de code par les pairs sont une pratique fondamentale dans le développement de logiciels qui implique l'examen systématique des modifications de code par les autres membres de l'équipe. Il s'agit d'un élément essentiel du processus d'assurance qualité visant à améliorer le cycle de vie global du développement logiciel. Grâce aux examens de code par les pairs, les organisations peuvent faciliter la collaboration et le partage des connaissances entre les développeurs, maintenir l'intégrité de la base de code, améliorer la qualité du code et garantir le respect des normes de codage.

Les revues de code par les pairs jouent un rôle essentiel dans l’amélioration de la qualité des logiciels sur plusieurs fronts. Par exemple, il agit comme une mesure proactive de contrôle qualité en identifiant et en corrigeant les problèmes avant qu’ils ne s’aggravent, réduisant ainsi la probabilité que des défauts atteignent la production. Plus un problème est découvert tôt, moins il coûtera cher pour le résoudre. En plus de servir de mesure de contrôle qualité, les revues de code par les pairs favorisent la lisibilité, la fiabilité, la portabilité, la cohérence et le respect des normes de codage, ce qui se traduit par une base de code plus maintenable et plus compréhensible. Ils encouragent également les développeurs à documenter leur code et à ajouter des commentaires significatifs, ce qui rend la base de code plus explicite et accessible aux autres développeurs.

Nous encourageons les revues de code par les pairs combinées à des méthodes de test traditionnelles ou automatisées telles que tests unitaires, tests fonctionnels, tests de sécurité, Test d'API, Test de performanceet les tests du système. Les revues de code par les pairs complètent ces techniques de test et offrent une perspective différente sur la qualité du code. Par exemple, les tests automatisés sont excellents pour couvrir les aspects fonctionnels et les cas de test spécifiques décrits dans les scripts de test et pour atteindre une couverture de test élevée. Les examens de code par les pairs, quant à eux, exploitent l'expertise humaine et l'intuition pour identifier les défauts de conception, les problèmes de maintenabilité et le respect des normes de codage qui pourraient être difficiles à capturer par des moyens automatisés.

Une solide pratique de révision de code par les pairs est connue pour améliorer la qualité des logiciels, voici donc quelques moyens d'éviter les mauvaises habitudes qui menacent de rendre vos révisions de code inefficaces.

Il est bien établi que l'examen par les pairs offre plus de valeur que ce à quoi on pourrait s'attendre. Comme indiqué dans l'excellent livre de Steve McConnell, Code complet, le taux moyen de détection des défauts est seulement:

  • 25% pour les tests unitaires
  • 35% pour les tests fonctionnels
  • 45% pour les tests d'intégration

En revanche, l’efficacité moyenne des inspections de conception et de code est de 55 % et 60 %, une statistique effectivement impressionnante. Bien sûr, cela ne fonctionne que si ce que vous faites dans le cadre de l'évaluation par les pairs est efficace et efficient.

Au fil des années, j’ai été témoin des nombreux pièges qui mènent à des évaluations par les pairs inefficaces. Éviter ces mauvaises habitudes peut être tout aussi efficace que d’en adopter de bonnes nouvelles ! Éliminez les mauvaises habitudes ci-dessous pour éviter les évaluations par les pairs inefficaces.

7 mauvaises habitudes à éviter pour une révision réussie du code par les pairs

Malgré le rôle essentiel des revues de code par les pairs dans le développement de logiciels, elles ne valent la peine que si elles sont menées de manière efficace et efficiente. Une évaluation par les pairs mal menée peut entraîner une perte de temps sans retour significatif sur l’amélioration du code. Pour garantir le succès de votre révision de code, voici les habitudes clés à éviter.

1. Sous-utilisation des outils dans les revues de code par les pairs

Pour commencer, vous ne devriez pas examiner ou rechercher tout ce qui peut être fait par analyse statique. Cela peut inclure des problèmes de branding, des problèmes de style comme le placement bouclé {
ne me lancez pas;
},
ou en utilisant un algorithme de chiffrement spécifique. Si un outil peut le trouver pour vous, laissez-le. Libérez-vous pour approfondir les caractéristiques de l'algorithme, de la sécurité et des performances du code. Faire un travail intelligent plutôt qu'un travail fastidieux a également l'avantage de rendre l'examen plus intéressant à participer, ce qui le rend à son tour plus engageant et efficace.

2. Révision du code inachevé

Il s’agit d’un problème classique qui touche particulièrement les organisations centrées sur le calendrier. Il y a de fortes chances que si vous publiez en fonction d'une date, vous révisez également en fonction d'une date. La logique est la suivante : « Je n’ai pas encore terminé, mais nous avons déjà programmé un examen, alors regardons au moins ce que nous avons. » Vous le savez aussi bien que moi : ce n'est pas un excellent moyen de réaliser une évaluation efficace, alors arrêtez de le faire. Assurez-vous que l'auteur du code a terminé, et s'il n'est pas encore prêt, reportez-le jusqu'à ce qu'il le soit.

3. Sessions de révision du code par les pairs trop longues

De longues sessions de révision de code peuvent être contre-productives. Il est important de fixer des limites raisonnables à la portée et à la durée de chaque examen afin de maintenir la concentration et la productivité. Des révisions longues et exhaustives peuvent entraîner de la lassitude, une attention réduite aux détails et un processus de développement plus lent.

Si l'examen prend trop de temps, vous devez repenser quelque chose. Dans ce cas, il peut s'agir de sessions de révision de plus d'une heure ou de sessions qui consomment trop de temps dans le calendrier global de développement. Si les révisions prennent plus d'une heure, vous essayez probablement d'en réviser trop à la fois. Ou alors l'auteur n'était pas prêt pour la critique. Après une heure d’examen, l’efficacité potentielle diminue rapidement, notamment pour les auteurs du code. Même si le commentaire n'était pas initialement personnel, après une critique inutilement longue, la critique peut s'aggraver et paraître plus douloureuse.

4. Personnalisation des commentaires sur l'examen du code par les pairs

Un examen par les pairs concerne le code, pas les personnes. Assurez-vous de parler du code et non du développeur. Une déclaration telle que « Ce code n'évoluera pas aussi bien que nécessaire » est moins susceptible d'offenser que « Vous avez mal écrit ceci ». À l’inverse, lorsque vous êtes la cible de critiques, soyez un bon sportif. Reconnaissez que le code de chacun peut être amélioré et que vous pouvez apprendre des données que vous obtenez. Quelle que soit la fin de l’évaluation à laquelle vous vous trouvez, vous pouvez probablement être plus gracieux en facilitant une évaluation fluide, agréable et rapide. Considérez la révision comme un excellent moyen d'obtenir un mentor gratuit. Tout le monde souhaite avoir un mentor, mais nous considérons rarement le processus d’évaluation comme un processus de mentorat. Valoriser le mentorat peut vous aider à ne pas le prendre personnellement.

5. Procrastination des révisions du code par les pairs

Ce n’est pas seulement une métaphore de résolution du Nouvel An. Je suis vraiment convaincu que la plupart des pratiques en matière de qualité logicielle doivent être traitées comme un exercice. Si vous essayez de vous en gaver au dernier moment, ils ne seront pas efficaces. Vous ne pouvez pas courir sur un tapis roulant la veille d'un marathon, et vous ne pouvez pas faire votre examen par les pairs la veille de votre libération.

6. Suivi incohérent dans les processus de révision du code par les pairs

La manière dont une évaluation est suivie peut grandement affecter sa valeur. Si vous trouvez des éléments lors d'un examen et ne vérifiez pas qu'ils sont corrigés, vous perdez probablement votre temps. Le meilleur avantage réside dans un processus cohérent qui inclut la responsabilisation. Assurez-vous que tout le monde sait ce que l'on attend d'eux et effectuez un suivi pour vous assurer que des correctifs sont apportés.

Si rien n’est trouvé dans l’examen, soyez critique. Même si cela peut arriver de temps en temps, cela devrait certainement vous rendre méfiant. Cela peut être le signe de révisions de contrepartie entre développeurs, ou un signe que votre développement ne comprend pas la valeur des révisions de code ou comment les effectuer correctement.

7. Critères incohérents pour les examens du code par les pairs

Si chaque évaluateur ne recherche pas les mêmes choses, vous n’aurez aucune idée de l’efficacité de vos avis. La portée de l'examen par les pairs doit être basée sur une politique sans ambiguïté, clairement écrite et pouvant être référencée. Avoir une liste de contrôle peut sembler contraignant au début, mais cela aidera à maintenir l'examen sur la bonne voie et remplira une double fonction si vous êtes dans un secteur de conformité comme l'automobile ou le médical où vous devez prouver que vous avez effectué un examen efficace.

L'élimination de l'ambiguïté demande plus de discipline que la simple rédaction de la politique, même si c'est une première étape importante. Idéalement, vous étofferiez quelques scénarios basés sur votre politique et demanderiez à différentes personnes comment elles procéderaient. Il n'est pas rare de voir des entreprises accepter un statu quo dans lequel différents groupes font les choses différemment, et tous deux pensent que l'autre groupe fait mal, mais les deux sont autorisés en vertu d'une politique ambiguë. Tu peux faire mieux.

Mettez tout le monde sur la même longueur d’onde. Cela améliorera votre qualité, fournira la cohérence nécessaire à l’évaluation et à l’amélioration et vous protégera en cas de problème. Si vous travaillez dans un environnement de conformité comme ISO 26262 ou FDA, le fait d'avoir des critères cohérents rationalisera vos audits.

J'ai été témoin d'évaluations par les pairs dans une grande variété d'organisations et j'ai vu où cela peut être incroyablement utile, ainsi qu'une perte de temps totale. Intégrer les bons outils dans les bons processus vous aidera à garantir que vous tirez profit du processus. Soutenez votre système d'évaluation par les pairs sans mauvaises habitudes avec un outil d'analyse statique sur lequel vous pouvez compter pour appliquer les normes et les meilleures pratiques et concentrez-vous sur les défauts intéressants qui feront de vous un meilleur ingénieur.

Conclusion : Maximiser la valeur des évaluations de codes par les pairs

En conclusion, les revues de code par les pairs offrent un immense potentiel pour améliorer le processus de développement logiciel et garantir la fourniture de logiciels de haute qualité. Pour les développeurs, s'engager dans des évaluations efficaces du code par les pairs offre plusieurs avantages clés, tels que la fourniture d'une précieuse opportunité d'apprentissage qui les expose à différents styles de codage, aux meilleures pratiques et à diverses approches de résolution de problèmes au sein de leur équipe. Ce partage de connaissances favorise la croissance professionnelle et le développement des compétences. De plus, les révisions de code par les pairs aident les développeurs à détecter et à résoudre les défauts plus tôt, et contribuent à la cohérence et à la maintenabilité de la base de code.

Pour soutenir des processus de révision de code réussis, l’exploitation des outils d’analyse statique peut s’avérer inestimable. Ces outils analysent automatiquement le code à la recherche de problèmes potentiels, tels que les violations des normes de codage, les vulnérabilités de sécurité et les odeurs de code. Pour C, C++, Java, C# et VB.NET, Parasoft propose des outils d'analyse de code statique comme Parasoft C / C ++test , Jtest Parasoft, Parasoft dotTEST, qui disposent tous de capacités d'IA et de ML et sont conçus pour différents environnements de développement. En intégrant des outils d'analyse statique dans le flux de travail de révision de code, les équipes peuvent améliorer l'efficience et l'efficacité de leurs révisions. La combinaison de l'expertise humaine des pairs évaluateurs avec l'automatisation fournie par les outils d'analyse statique optimise la valeur et l'impact des revues de code par les pairs dans le cycle de vie du développement logiciel.

Effectuez correctement les tests unitaires: les meilleurs conseils pour les développeurs Java