在开发人员的生活中,有时会开始进行代码审查。通常,这是程序员成长的标志之一:他们开始真正听取他的意见,并信任更严肃的任务。要求开发人员进行审核的确切时间取决于公司的结构:有些团队经过一段时间后可以完成或多或少的所有工作,而有些团队的审核过程完全取决于最资深和经验最丰富的同事。
同时,很少有人谈论进行质量审查应遵循的原则:此程序的主要目标是什么,首先要寻找什么,需要多快执行一次。
因此,《Google评论指南》看起来像是非常有价值的文档,其第一部分的翻译将在稍后提供。其余部分的翻译将在以后的单独文章中发布。值得注意的是,这是经过改编的翻译,并不是所有的翻译都是以更多的俄语表述和句子的名义逐字翻译的。
术语:
CL:“更改列表”-发送到版本控制系统以供查看的代码更改列表。类似于GitHub中的Pull Request或GitLab中的Merge Request。
1.标准代码审查
审查的主要目的是改善Google的代码库。用于进行审查的所有工具和手段均专门用于实现此目标。
在实现既定目标的过程中,我们必须做出许多妥协。
首先,开发人员应该能够执行任务。如果您不接受对代码库的任何更改,那么它将永远不会改善。如果审阅者所做的任何更改都过于复杂,则开发人员将来根本不会去做任何事情。
, 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),
- -.
您应该查看代码的每一行,并考虑上下文,确保您正在改善代码库的状态并鼓励开发人员做出成功的决定。
在下一部分中,我们将讨论如何更好地在CL中导航以及从何处开始审核。