Je suis en train d'essayer de vendre mon organisation sur la valeur des revues de code. J'ai travaillé à plusieurs endroits où ils travaillaient. Je les ai vus habitués à des choix de styles et à des choix fonctionnels, et je les ai vus utilisés comme un simple contrôle pour s'assurer que rien de dangereux n'était mis en œuvre. Mon sentiment est que le but le plus efficace se situe quelque part entre les deux options.
Alors, quel est le but d'une révision du code?
code-reviews
theory
SoylentGray
la source
la source
Réponses:
Il existe plusieurs raisons pour lesquelles vous souhaitez procéder à une révision du code:
Il existe plusieurs analyses de rentabilisation pour effectuer des examens:
Si vous souhaitez en savoir plus sur les avantages des stratégies d’examen par les pairs et sur les stratégies de mise en œuvre correspondantes, je vous conseillerais de consulter les évaluations par les pairs dans Logiciel: Guide pratique de Karl Wiegers .
la source
this
contexte, ne l'utilisant pas.hasOwnProperty
dans des endroits où il devrait être, etc., etc. - Donc, principalement pour les normes. Dans un langage géré comme C #, vous avez bien sûr moins de raisons de choisir des langages dynamiques.Les revues de code sont un outil de transfert de connaissances .
Lorsque les développeurs examinent le code de chacun, ils se familiarisent avec tous les domaines du système. Cela réduit le facteur de bus d'un projet et rend les développeurs plus efficaces lorsqu'ils doivent effectuer une maintenance sur une partie du système qu'ils n'ont pas écrite.
Lorsqu'un programmeur junior examine le code d'un senior, il peut apprendre des astuces, sinon il n'a appris que par expérience. Cela peut également servir de correctif contre un code trop compliqué.
Un examen approfondi du code nécessitera des contrôles fréquents sur divers documents. C'est un excellent moyen d'apprendre un langage ou une API.
Lorsqu'un programmeur expérimenté examine le code d'un junior, c'est l'occasion de résoudre les problèmes avant qu'ils ne se traduisent par une dette technique. Une révision de code peut constituer un bon cadre pour le mentorat des programmeurs débutants.
Les revues de code ne concernent pas:
… Trouver des bugs. C'est à quoi servent les tests. Il arrivera encore fréquemment qu'une revue de code trouve un problème.
… Corrige les problèmes de style - choisissez un style et utilisez des outils de formatage automatisés pour le faire respecter. Mais il y a beaucoup de choses qu'un outil automatisé ne peut pas vérifier. Les revues de code sont un bon endroit pour s'assurer que le code est suffisamment documenté ou auto-documenté.
la source
La chose la plus précieuse que me procure un examen de code est la certitude que le code est clair pour une autre personne. Les variables sont-elles clairement nommées? Le but de chaque morceau de code est-il raisonnablement évident? Est-ce que quelque chose d'ambigu est clarifié avec un commentaire? Les cas limites et les valeurs valides pour les paramètres sont-ils décrits dans les commentaires et vérifiés dans le code?
la source
J'aimerais ajouter deux domaines qui ne sont pas couverts par les autres bonnes réponses:
L’ effet Hawthorne est l’une des bonnes raisons d’examiner les codes: dans notre cas, si vous savez que quelqu'un examinera votre code par la suite, vous aurez beaucoup plus de chances de l’écrire mieux en premier lieu.
Une autre bonne raison est de meilleures pratiques de développement sécurisées. Il suffit de regarder le goto fail d’Apple (une ligne de code dupliquée accidentellement) ou le bogue Heartbleed (un échec fondamental dans la validation des entrées) pour comprendre l’importance de la révision du code dans un cycle de développement sécurisé.
la source