web-dev-qa-db-fra.com

Comment faire échec Code Reviews

Mon patron dit que nous devrions trouver un moyen de mettre à l'échelle des critiques de code de notre société. Comme il se trouve actuellement, nous avons environ 16 développeurs de logiciels répartis sur 4 équipes/équipes différentes, mais la société fermera bientôt une offre qui doublera la taille de la société. Avec cela, finalement, nous aurons des dizaines de développeurs. Il me recommande de vérifier des outils automatisés tels que celui-ci: https://www.freecodecamp.org/news/how-to-automate-code-reviews-github-41be46250712/ mais je ' m Particulièrement pas un fan d'outils automatisés en raison de:

  • Ils ne comprennent pas le contexte de vérifier si des noms de variables/méthodes sont bons, mauvais ou même contre-intuitifs
  • Ils ne peuvent pas juger si l'architecture choisie est suivie
  • Les développeurs peuvent décider d'ignorer les commentaires de la machine (par exemple Pylint, même si nous l'avons, tout le monde l'ignore)
  • Certains d'entre eux ont des coûts
  • Certains d'entre eux (comme celui que j'ai mentionné) nécessitent un accès particulier à l'organisation du référentiel/GitHub, que je n'ai pas

Nous travaillons avec Python (principalement), Lua et Go, et parmi les développeurs (généralement parlant de la société), même si tout le monde voit des valeurs dans la révision du code, la plupart offrent une "vue rapide". et dire LGTM, tandis que 2 ou 3 (moi inclus) aiment Nag à propos des bugs et des améliorations possibles. Alors, comment voudriez-vous recommander des critiques de code? Comment les grandes entreprises comme Microsoft, Google, Amazon, Oracle, etc., effectuent des critiques de code avec Des dizaines/centaines de développeurs, ce qui rend les gens se soucient de la revue de code? Est-il intéressant de créer quelque chose comme une plate-forme de télécommande/une carte de direction (peut-être avec des récompenses)?

4
Vini.g.fer

De la même manière que les générateurs de code ne remplaceront jamais les codeurs, les outils ne remplaceront jamais les avis de code. Ce n'est tout simplement pas possible.

Maintenant, votre patron veut que les critiques de code, mais je devine vraiment qu'ils veulent juste qu'ils se rendaient plus vite. La question évidente est donc comment limiter ce qui est examiné et comment pouvons-nous rendre ces critiques plus rapidement.


Avis limitant

Autoriser des modifications simples

Tout ne nécessite pas d'examen. Pour un simple changement d'orthographe, vous pourriez simplement permettre aux développeurs de vérifier ces changements. De même, si une revue antérieure a déjà eu lieu et que le changement est assez simple, vous pouvez permettre aux développeurs de simplement vérifier ces changements d'une fois qu'ils ont été effectués. .

Programmation par paire

Bien que le code programmé par paire devrait encore être examiné, il est probable qu'il contiendra moins d'erreurs. Envisagez de faire cela pour que les développements complexes soient bien sûr.

ont des portes de qualité

Le code devrait atteindre une norme minimale avant qu'il soit même présenté pour examen. Effectuez ces attentes pour éviter les tours d'examen (voir , appuyez sur Outillage ci-dessous).

considère la portée du code

Quelle est la portée du code? Est-ce une preuve de concept? Est-ce un outil rapide et sale qui sera utilisé une fois et jeté? S'il n'allait jamais atteindre les échelons de la production, vous voudrez peut-être envisager une révision tactile plus claire.

plus rapide de l'exécuter?

Plutôt que de pore sur les pages de code, serait-il plus simple de le construire et de le gérer dans un environnement de test?


Améliorer le débit

Assurez-vous que le processus est équitable

Le processus devrait être juste pour tous. Nous connaissons tous des critiques qui veulent tous les "je" parseminés et tous les "T" traversaient tandis que d'autres semblent renoncer à tout. Il existe également des développeurs qui mettent en œuvre chaque changement suggéré tandis que d'autres pensent savoir mieux et feront le strict minimum. Veiller à ce que les examinateurs soient différenciés entre ces changements avoir à faire et ceux qui sont simplement une question de style ou de goût.

Évitez les longs documents de normes de codage

Si les développeurs devaient faire la queue via des pages de normes de codage, cela va tenir les choses. Seul document ce qui n'est pas couvert par l'outillage.

Tourner les examinateurs

Tourner les examinateurs. Il arrête les cous de bouteille et aide à diffuser les connaissances.

Avis sur Timebox

Les critiques et les retravaillers se produisent mieux quand il est frais dans l'esprit de chacun. Si un critique est autorisé à garer des critiques pendant des semaines à la fin, vous avez un problème de culture ou un goulot d'étranglement (voir point ci-dessus).

maigre sur l'outillage

Si le code ne construit même pas avec des tests d'unités de passage, il n'a pas besoin d'examen, il a besoin de la fixation. Voir Gates de qualité. Bien que l'outillage ne soit pas la réponse complète, il peut faire beaucoup de tâches ménagères pour vous.

0
Robbie Dee