Regardez comment Facebook le fait avec leur propre application, appelée phabricator: http://phabricator.org/
Ils s'engagent essentiellement pour chaque problème, et pour chaque problème, le code est affiché, qui doit être examiné par quelqu'un. Le code ne va pas dans leur référentiel principal jusqu'à ce que le réviseur ait dit que c'est ok pour le faire.
Je suppose que cela le rend plus amusant.
De plus, un code devrait peut-être être attribué à deux personnes: une qui le fait et une qui le révise.
Bien que vos coéquipiers ne croient peut-être pas en cette critique.
Personnellement, en l'absence de réviseurs, j'ai utilisé des tests unitaires pour les fonctions de niveau inférieur et "le test du concierge" pour tout le reste: le test du concierge est appelé ainsi, car même le concierge devrait être capable de comprendre votre code.
J'ai généralement supprimé certaines parties mineures, comme les crochets de portée de bloc / fonction, les notations de visibilité, parfois même les types, et je l'ai montré aux gestionnaires, aux experts de domaine, aux partenaires, à la personne qui a demandé le code: "est-ce ce que vous voulez?"
De plus, y aller personnellement et ne pas partir tant que la révision n'est pas terminée aide.
Ou, au cas où vous ne seriez pas d'accord avec l'équipe, ou qu'ils ne vous conviendraient pas, vous savez, "si vous pouvez 'changer l'entreprise, changer d'entreprise" ...
Vous avez un certain nombre de problèmes à résoudre - vous devez gagner les cœurs et les esprits et vous devez vous assurer que du temps est disponible pour les révisions de code.
La deuxième partie est probablement la plus simple - vous convenez (collectivement et cela doit inclure la direction) que la première chose qu'un développeur fait chaque matin est ses révisions de code - c'est simple, compréhensible, efficace et vous donne un bon bâton clair pour battre les gens avec s'ils ne se conforment pas. Mieux, vous n'interrompez rien, vous ne leur demandez pas d'arrêter de travailler sur leur code, vous ne demandez pas aux gens de mettre quelque chose dans leur liste de choses à faire ...
La première partie est le vrai problème - les participants au processus de révision doivent le voir comme ayant de la valeur sinon ils ne feront jamais de révision de code (qui est perçu comme n'ayant pas de valeur) quand ils pourraient écrire du code ou corriger des bogues (ce qui est sûrement plus important ...?).
Si vous pouvez combiner les deux - tout d'abord en vous assurant que tout le monde croit (ou comprend) qu'il y a de la valeur dans les revues de code - au plus basique, cela devrait signifier moins de bogues, ce qui signifie plus de nouveau code qui est généralement plus amusant - et ensuite en organisant les choses afin qu'il y ait un espace clair dans le calendrier pour les révisions de code à faire, alors j'espère que de bonnes choses se produiront ... cela fera partie de la culture.
Une fois que cela fait partie de la culture, il n'est peut-être plus nécessaire de dire "la première chose tous les jours" - mais cela étant dit, je pense que cela correspond bien au modèle, on veut probablement qu'un développeur travaille.
la source
Dans la plupart des entreprises pour lesquelles j'ai travaillé, vous avez 3 jours pour effectuer une évaluation. Il n'est pas acceptable de ne pas faire les évaluations. Cela fait partie de votre travail. Si vous ne faites pas de critiques décentes à temps, cela affecte votre évaluation des performances. Et oui, les revues semblent toujours se produire aux moments les plus inopportuns. Dommage, apprenez à inclure le temps de révision dans vos estimations. Quoi qu'il en soit, si la direction croit vraiment que les examens sont importants (c.-à-d. Qu'elle exige que tout le code soit examiné), elle préconisera une politique similaire. De plus, si les gens ne terminent pas l'examen dans le temps imparti, cela va de pair avec leur acceptation du matériel.
la source
Pensez à utiliser un outil comme Review Board . C'est très utile, surtout pour les longues critiques.
Vous pouvez télécharger vos différences et attendre qu'un réviseur ait terminé sa révision. Si vous avez des critiques ouvertes qui vous empêchent de poursuivre votre travail, vous pouvez le signaler lors de vos réunions quotidiennes (votre équipe souhaite que les nouvelles fonctionnalités soient enregistrées afin qu'elles puissent être testées dès que possible, n'est-ce pas?).
la source
Quelques points à ajouter qui ne figurent pas dans les autres réponses.
Le code à réviser doit être archivé
Les tâches de blocage sont prioritaires, les révisions de code doivent donc avoir priorité sur les autres travaux (mais en essayant de ne pas interrompre votre flux). En tant que développeur, vous devriez souhaiter que d'autres révisent votre code (car vous visez à l'améliorer). Dans cette connaissance, vous devez effectuer rapidement des révisions pour les autres.
Les questions les plus difficiles sont de savoir quand et comment bien réviser le code.
Une règle qui a fonctionné pour nous sur le moment est que le code partagé doit être révisé car il a un impact plus large alors que dans le code pour une seule application (surtout étant donné que nous utilisons le développement piloté par les tests), c'est moins important.
la source