一、目的:
1、通过高效的代码走查,提高团队需求交付的质量。
二、成功推行代码走查的两个关键操作
1、提高代码提交的原子性:
代码提交的原子性:一个提交包含一个不可分割的特性、修复或者优化,同时这个提交要尽可能小。
优点:原子性提交因为小而聚焦,结构清晰,是做好代码审查的基础。
反例:大功能未做拆分甚至多个功能合并提交,一次提交代码行数超过上千行。
2、提高提交说明的质量:
好的格式应该包含以下三个方面(可以借助Phabricator):
1)标题:简明扼要地描述提交内容。
2)详细描述:包括提交的目的以及实现细节的总结性描述,这些内容能更好的帮助审查者阅读代码。
3)测试情况:描述此次提交做了什么样的测试验证,具体包括正常情况的输出、错误情况的输出,以及性能、安全等方面的专项测试结果。这部分内容,可以增加审查者对提交代码的了解程度以及信心。
优点:可以方便审查者理解被审查代码的意图、实现思路,并通过测试情况,加快对代码的理解,提高对代码质量的信心,从而大大提高审查者的效率。同时,严格的提交说明格式及好的说明质量也可以督促开发者提高代码质量、加强自测。所以说,它是一个简单、直观且有效的代码审查落地实践。
三、成功推行代码走查的三个关键原则
原则一:互相尊重
代码审查是两个开发者之间的技术交流,双方都要谨记互相尊重的原则。从代码作者的角度来看,审查者要花费时间去阅读他并不熟悉的代码,来帮助你提高,应该尽量为审查者提供方便。比如,提高提交说明的质量,就是对审查者最基本的尊重。还有,如果你的代码都没有进行自测就提交审查,你觉得审查者心里会怎么想呢?又比如,如果你提交的一个审查有一万行代码,让审查者怎么看呢?所以,代码作者一定要替审查者着想,帮助审查者能够比较轻松地完成审查。
从审查者的角度来看,在提出建议的时候,一定要考虑代码作者的感受。最重要的一点是,不要用一些主观标准来评判别人的代码。
代码审查原则二:基于讨论
代码审查常常出现问题的一个地方是在审查过程中因为意见不同而产生争执甚至争吵,所以一定记住代码审查的目的是讨论,而不是评判,作为团队SM一定要在团队中强调这个原则。
此外,讨论的心态,有助于放下不必要的自尊心,从而顺利地进行技术交流,提高审查效率。另外,讨论的心态也能促进大家提早发出审查,从而尽早发现结构设计方面的问题。
代码审查原则三:邀请具备【实现高扩展性代码的能力】、【重构的能力】的审查者参加。
谢谢大家