Temps alloué aux revues de code


14

Si vous faites des révisions de code

  • Combien de temps passez-vous sur les révisions de code, par rapport à la mise en œuvre?
  • Combien de changements subissent une révision du code?
  • vous pensez que c'est trop / devrait être plus?

Existe-t-il des études sur l'efficacité?

[modifier] merci à tous pour les réponses, il est difficile de choisir un "gagnant" pour une telle question, il y a aussi beaucoup d'informations précieuses dans les autres réponses.


2
Mes réponses à ces trois questions seraient «aucune», «aucune» et «ça devrait être plus». :-)
Carson63000

4
Bonne question, je suis en train de lancer une croisade personnelle pour introduire des revues de code dans mon travail. Les réponses à cette question pourraient donc être utiles.
Kevin D

La question suivante est "Pourquoi" - La plupart pensent que c'est de la qualité, mais les gros gains viennent quand vous comprenez que la valeur éducative du code dépasse la valeur de la qualité.
mattnz

Réponses:


7

Dans mon travail, nous avons la procédure suivante pour les révisions de code. Jusqu'à présent, cela a bien fonctionné pour nous et nous l'avons trouvé très efficace en termes de temps, en particulier en termes d'heures de travail. Nous n'avons pas vraiment de temps spécifique alloué aux évaluations. Chaque validation ou fusion dans le tronc doit être révisée, et il faut autant de temps pour que le réviseur l'accepte.

Edit: le temps qu'il faut, bien sûr, dépend de l'ampleur du changement. Les petites fonctionnalités et les corrections de bugs prennent quelques minutes. Les nouvelles fonctionnalités, refactorisations ou modifications importantes qui affectent de nombreuses parties du système peuvent prendre une demi-journée pour être examinées et une autre journée pour résoudre tous les problèmes qui en résultent.

Pour faire fonctionner ce système, il est essentiel de s'engager souvent dans le coffre, afin que les changements soient de taille gérable. Vous ne voulez pas avoir la situation quand vous devez revoir la valeur d'un an du code de quelqu'un.


1
Avez-vous une idée de combien cela prend?
peterchen

5

En ce qui concerne les études, le logiciel Smart Bear vous enverra gratuitement un petit livre, Best Kept Secrets of Peer Code Review . Il contient un certain nombre d'articles sur divers aspects de la révision du code, y compris des études sur le temps qu'ils devraient prendre et leur efficacité.


Je viens de commander ce livre. Si tout va bien être une lecture intéressante.
Kevin D

3
Commandé aussi. Il est étrange d'attendre 20 jours pour un livre " gratuit " - d'une entreprise qui vend des logiciels sur Internet, rien de moins.
peterchen

Ce livre fait le tour de mon lieu de travail depuis plusieurs années. Notre exemplaire est bien lu et dogear avec quelques points clés de marquage postit. Il est petit (peut le lire en une heure) mais regorge d'informations utiles. Le but clair est de vous convaincre de faire un examen de code, puis de vous convaincre d'utiliser un outil, puis de vous convaincre d'acheter leur outil - assez bien, ils vous ont donné le livre.
mattnz

4

Dans notre projet, chaque modification importante du système est examinée par le chef d'équipe ou avec un autre développeur qui sera le principal "consommateur" du nouveau module. Nous parlons sur skype et utilisons Rudel dans Emacs (un plugin pour l'édition collaborative, il permet essentiellement à plusieurs utilisateurs d'éditer le même fichier en direct), ou TypeWith.me (Piratepad), ou l'un de nous partage son écran dans skype.

Il est difficile de quantifier cela, car les modifications banales, comme les nouvelles vues, les pages, etc. ne sont pas examinées. Nous examinons les nouveaux modules, les mises à jour majeures et les refactorisations. En ce qui concerne les grands changements, la révision du code peut prendre de 10% à 30% du temps, mais ça vaut le coup.

Je peux dire que la programmation en binôme, lorsque 2 programmeurs modifient le même fichier en même temps, et pas seulement assis sur le même ordinateur, est beaucoup mieux que la pratique habituelle de bureau de s'asseoir derrière l'épaule.

Pour des choses simples comme les conventions de dénomination et les erreurs de portée, nous utilisons nos propres outils automatiques ou open source (jslint, pylint, pyflakes, pep8). Et nous ne limitons pas les commits et les push: nous utilisons Mercurial qui a des branchements et des fusions très faciles (je dois dire, plus faciles que dans Git). Les bogues ne sont pas une question de révision de code.

Nous organisons des réunions d'équipe où les changements et les nouveautés sont annoncés, mais là, tout le monde n'y fait pas vraiment attention. Nous devrions probablement faire un peu plus de révisions de code.


2

Il n'y a pas de bonne ou de mauvaise réponse à cela. Mais comme beaucoup l'ont suggéré avant moi - si l'examen du code est effectué par un membre externe de l'équipe [méthode hautement recommandée], cela pourrait représenter environ 30% à 35% de l'effort de développement. Mais si cela est fait par un membre de l'équipe de projet interne qui faisait partie de l'équipe de développement [non recommandé], cela peut être effectué dans environ 20% du temps nécessaire à l'effort de développement.

Remarque: je suis tombé sur ce fil lors de la recherche d'autre chose et j'ai pensé que je pourrais être en mesure d'ajouter de la valeur ici. Btw, toute cette estimation d'effort ci-dessus est basée sur mon expérience de travail en tant que responsable de l'engagement sur plusieurs projets. J'espère que cela aide.


merci - et pas de sueur, j'apprécie de voir les chiffres pour une question "combien"!
peterchen

0

Chaque organisation et base de code est différente, il est donc difficile d'obtenir une valeur à l'échelle de l'industrie.
Si vous êtes vraiment sérieux, vous devriez commencer à collecter des métriques. C'est-à-dire faire la révision du code jusqu'à ce qu'il soit fait de manière satisfaisante, y compris la reprise. Commencez à collecter ces informations dans une base de données (LOC, complexité du code, langage de programmation, heure, etc.). Ensuite, collectez également des mesures sur votre taux de défauts pendant les tests. Tant que vous pouvez réduire cet examen de code devrait payer par lui-même. Si le défaut revient du test, collectez des mesures sur le temps passé à corriger les défauts. Créez ces données dans votre organisation, créez des références et vous pouvez les prédire de façon assez précise. Les termes pour rechercher un apprentissage ultérieur sont Coût de la qualité et Coût de la mauvaise qualité.

La seule mise en garde est que cela peut commencer à devenir bureaucratique et dépend de la culture de l'organisation.


Je recherche des données pratiques, j'ai donc une idée de la gamme attendue.
peterchen
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.