Plateforme commerciale de contenu Brightspot

La vie des développeurs: 5 raisons pour lesquelles le processus de révision du code est essentiel pour les développeurs

Two women sit at a desk and look at information displayed on a flat screen computer monitor. In this blog post, Lingjie Zhang—a Software Engineer at Perfect Sense/Brightspot—explains why she finds code review to be essential.

Voici cinq raisons pour lesquelles j’ai estimé que la révision du code était essentielle pour garantir la robustesse, la cohérence et la durabilité d’un projet de codage.

1. Conception et mise en œuvre cohérentes

La révision du code par les pairs peut appliquer un style de codage cohérent tout au long d'un projet, rendant ainsi le code source lisible par quiconque pourrait être introduit dans le projet à un moment donné pendant le développement. Un projet peut comporter plusieurs phases de développement, chacune pouvant être distribuée à plusieurs développeurs. Si chaque développeur a son propre style de codage distinctif et y adhère, le projet deviendra inévitablement disjoint. Peu importe la façon dont chaque développeur joue son rôle, il deviendrait difficile pour les autres de s'insérer efficacement dans le processus de développement.

L'utilisation du processus d'examen pour garantir une conception et une mise en œuvre cohérentes contribue également à la maintenabilité et à la longévité du logiciel. Il est inévitable que des changements doivent être apportés en fin de compte, il est donc important que vous vous demandiez qui sera responsable de ces changements. Les mêmes développeurs seront-ils en place lorsque ces ajustements de code seront nécessaires? Le projet se développera-t-il et de nouveaux développeurs devront-ils être ajoutés et mis à niveau? Dans le processus de révision du code, ces facteurs doivent être gardés à l'esprit. Plus tard, cela vous fera gagner un temps précieux, à vous et à l'équipe, vous permettant de vous concentrer sur l'innovation du logiciel au lieu de comprendre comment le code fonctionne (ou ne fonctionne pas) ensemble.

2. Minimiser vos erreurs et leur impact

Cela peut sembler l’avantage le plus évident du processus de révision du code par les pairs, mais c’est aussi l’un des plus importants. Lorsque vous travaillez avec des contraintes réelles de temps et de budget, il est facile de sauter cette étape. Bien sûr, vous avez confiance en votre travail, mais même les meilleurs codeurs peuvent perdre les yeux en regardant leur propre travail trop longtemps. La révision du code aide à donner un regard neuf pour identifier les bogues et les erreurs de codage simples avant que votre produit ne passe à l'étape suivante, ce qui rend le processus d'acheminement du logiciel au client plus efficace.

Il suffit de consulter le code de quelqu'un et d'identifier les erreurs Cependant, en ce qui concerne le processus d'examen par les pairs du code, il doit également y avoir un niveau de suivi et de responsabilité. Assurez-vous qu'il existe un processus en place pour la vérification afin de confirmer que les écarts de code ont été corrigés avant de passer à la production.

3. Garantir la qualité des projets et répondre aux exigences

La portée de tout projet logiciel donné et ses exigences peuvent passer entre les mains de plusieurs développeurs. Le processus de révision du code peut servir de vérification et d'équilibre par rapport aux différentes interprétations de cette portée et exigences par rapport au code qui finit par être livré. La deuxième paire d'yeux peut vous assurer de ne pas tomber dans la «fosse» que vous avez créée en vous basant sur votre propre compréhension de ce qui est demandé et que quelque chose d'important n'a pas été négligé. Faire examiner le code par vos pairs peut gagner beaucoup de temps à «affronter» l'assurance qualité plus tard.

4. Amélioration des performances du code

En raison du manque d'expérience, certains jeunes développeurs peuvent ne pas connaître les techniques d'optimisation qui pourraient être appliquées à leur code. Le processus de révision de code permet à ces développeurs d'acquérir des compétences et de booster les performances de leur code. De plus, cela donne à ces jeunes développeurs une chance de perfectionner leurs compétences et de devenir des experts dans leur métier.

Tout en réalisant les fonctionnalités requises, de nombreux développeurs essaient également de rechercher un code optimisé pour la concision et l'efficacité des performances. Cependant, cela entraînera plus de complexité du code et moins de lisibilité. (Remarque: la concision du code ne signifie pas que sa logique est simple à comprendre.) De plus, le modèle de données sur lequel le code est construit peut changer dans les phases de développement ultérieures. Ainsi, une telle optimisation prématurée augmentera éventuellement le coût de la maintenance.

5. Partager de nouvelles techniques

Lors d'une révision de code, les développeurs peuvent également partager de nouvelles technologies et techniques entre eux. Les techniques de partage transcendent l'ancienneté, où chaque développeur est également capable de partager, de coopérer et d'améliorer ses compétences.

Chaque fois que je reçois des commentaires de mes collègues, je préfère les examiner en temps opportun. En général, je comprends où se trouvent les problèmes et je les corrige directement. Quand il y a des situations où je suis confus, mon pair examinateur m'aide à trouver la solution appropriée. Le processus de revue par les pairs du code est en mesure d'élargir progressivement mes compétences et d'assurer la qualité de nos projets.

D'autre part, nous recherchons des techniques et des méthodes pour automatiser le plus possible le processus d'examen par les pairs et faire gagner du temps à tout le monde. Par exemple, pour gagner du temps lors de la compilation et du déploiement, nous avons introduit l'outil Travis CI. Une fois qu'une demande d'extraction est lancée, le github peut se synchroniser avec le Travis CI et dire si la construction est fusionnable. Par la suite, Travis CI construira le PR et mettra à jour le statut sur github en conséquence afin que les développeurs puissent effectuer la fusion en temps opportun.

Bien que nous travaillions à automatiser le processus de révision du code, tout ne peut pas être automatisé et les tests manuels sont parfois plus efficaces et approfondis. Récemment, notre équipe de livraison a trouvé un flux de travail alternatif et meilleur pour fusionner les demandes d'extraction. Après la révision du code, nous déployons d'abord les requêtes dans un environnement QA et testons les fonctionnalités, en fusionnant plutôt directement les requêtes. Seulement si tous les cas de test sont vérifiés, la demande d'extraction peut être fusionnée dans la branche de développement. Ce nouveau flux de travail nous empêche de revenir sur les commits bogués et rend notre branche de développement plus robuste.

Mon expérience avec le processus de révision du code par les pairs chez Brightspot m'a permis de devenir un meilleur développeur, à la fois en tant que réviseur de code et en tant qu'employé recevant un examen par les pairs. Non seulement ce processus contribue à faire de moi un meilleur développeur, mais il assure le succès à long terme et le bon développement de notre produit, Brightspot.

Share

All Brightspot Features

The Brightspot Content Business Platform is built by publishers and developers, and is designed to grow with your business.
A robust set of tools to manage sites, content, users and permissions, workflows, languages, and analytics.
Keyword-driven and comprehensive, filterable search and taxonomy features make folders a thing of the past.
Intuitive and designed for the work, including rich-text editing, embeds, plus collaboration features that make teamwork work.
Start publishing content rapidly thanks to built-in, extensible content types including text assets, media, pages and much more.
Drive deeper engagement and personalized experiences by leveraging authentication, profiling, segmentation and affinity features.
Built to be a bridge to your systems and all your data, start with one of the 70 plug-and-play integrations, or build any custom integration to meet your business needs.
Meet users where they are thanks to syndication and distribution tools like RSS, sitemaps, SEO tools, social publishing and translation support.
Front-end agnostic means content businesses can publish how they want - headless with GraphQL or decoupled - all from the same environment.
Get the publishing speed you need with Brightspot. Book your personalized walk-through today!
Request a Brightspot demo graphic