Comment faire une revue de code?

Dans la vie d'un développeur, il arrive un moment où il commence à effectuer une révision du code. En règle générale, c'est l'un des signes de la croissance d'un programmeur: il commence à vraiment écouter son opinion et à faire confiance à des tâches plus sérieuses. Le moment exact où un développeur est invité à faire un examen dépend de la structure de l'entreprise: il y a des équipes où plus ou moins tout peut être fait après un certain temps, et il y a celles où le processus d'examen repose entièrement sur les collègues les plus anciens et les plus expérimentés.


Dans le même temps, peu de gens parlent des principes à suivre pour mener un examen de la qualité: quels sont les principaux objectifs de cette procédure, ce qu'il faut rechercher en premier lieu, la rapidité avec laquelle elle doit être effectuée.


Par conséquent, le Google Review Guide ressemble à un document très précieux, dont la traduction de la première partie est présentée plus loin. Les traductions des autres parties seront publiées ultérieurement dans des articles séparés. Il convient de noter qu'il s'agit d'une traduction adaptée, tous ne sont pas traduits mot à mot, au nom de formulations et de phrases plus russes.


Terminologie:


CL : "changelist" - une liste des modifications de code envoyées au système de contrôle de version pour examen. Analogue de Pull Request dans GitHub ou Merge Request dans GitLab.


1. Examen du code des normes


L'objectif principal de l'examen est d'améliorer la base de code de Google. Tous les outils et moyens utilisés pour effectuer un examen visent spécifiquement à atteindre cet objectif.


Pour atteindre l'objectif fixé, nous devons faire un certain nombre de compromis.


Premièrement, les développeurs devraient être capables de faire leurs tâches. Si vous n'acceptez aucune modification de la base de code, elle ne s'améliorera jamais. Dans le cas où le réviseur apporte des modifications trop compliquées, les développeurs ne vont tout simplement pas faire quoi que ce soit à l'avenir.


, CL , . , . , .


, . , , , " ".


, , :


CL , , CL .


.


, : CL , , , .


, : , . CL , , CL , , . , , . CL, , , , .


, , , , . , , "Nit: ", .


: CL, . .


1.1.


- , , . , , - . , . , ( ), "Nit: " .


1.2.


  • .
  • style guide .
    , style guide . , .
  • .
    / , . .
    , , , . .
  • , , , , .

1.3.


, , , , : CL .


, : . , CL, .


, — , , , . CL "" , .


2.


: - .


2.1. ()


, — CL . CL? : ? ? ?


2.2.


CL , ? ? "" ( ), , .


, . , , , , , , .


, CL: , . , .


, — CL . , — . , , . ( ).


2.3.


CL — , , . , -, , -, .


, , , . , , , , . , .


2.4.


, , : , end-to-end . , CL, .
.


— , , .
, ? , ? , ? ?


, — , . , , .


2.5.


, . , , , , .


2.6.


, ? ? , , , , , : , . , . , , , : , .


, CL: , "TODO", , .


, — , . , .


2.7.


Google , . , CL .


, , ("Nit:"). CL .


CL . , . , , , CL — , .


2.8.


CL , , , , , README, g3doc (. — Google ) . CL , , . , .


2.9.


. , , , , . , - — . , .


, , , . Google . , , , , . , , , , .


, , , . , , , , .


2.10.


, , . , , : , , 4 , , 50 .


CL : CL , ?
CL, . , , CL.


2.11.


CL , : , . , , .



:


  • ,
  • ,
  • : , ,
  • ,
  • ,
  • ,
  • ,
  • , , ,
  • , , ( ),
  • (g3doc),
  • -.

Vous devez regarder chaque ligne du code, prendre en compte le contexte , être sûr que vous améliorez l'état de la base de code et encourager les bonnes décisions des développeurs.


Dans la partie suivante, nous verrons comment mieux naviguer dans le CL et où commencer l'examen.

Source: https://habr.com/ru/post/undefined/


All Articles