Review的概念与意义

是什么让Google的程序如此优秀

让Google的程序如此优秀的一个最重要的事情看起来是非常的简单:代码审查

在Google,没有程序,任何产品、任何项目的程序代码,可以在没有经过有效的代码审查前提交到代码库里。


从代码审查里能得到什么?

•在代码提交前,用第二群眼睛检查一遍,防止bug混入。这是最常见的理解,也是它最不重要的一点。

•代码审查的最大的功用是纯社会性的。如果你在编程,而且知道将会有同事检查你的代码,你编程态度就完全不一样了。你写出的代码将更加整洁,有更好的注释,更好的程序结构——因为你知道,那个你很在意的人将会查看你的程序。

•还有一个非常重要的好处。代码审查能传播知识。通过代码审查,至少会有两个人熟悉这些程序——作者,以及审查者。审查者并不能像程序的作者一样对程序十分了解——但他会熟悉程序的设计和架构,这是极其重要的。


代码审查最重要的一个原则:代码审查用意是在代码提交前找到其中的问题——你要发现是它的正确。在代码审查中最常犯的错误——几乎每个新手都会犯的错误——是,审查者根据自己的编程习惯来评判别人的代码。

代码审查的第二个易犯的毛病是,人们觉得有压力,感觉非要说点什么才好。如果你总是力图找出一点什么东西来批评,你这样做的结果只会损害自己的威望。你的评论将不再被人重视。

第三是速度。你不能匆匆忙忙的进行一次代码审查——但你也要能迅速的完成。你的同伴在等你。

 


Review的概念与意义


Review的概念

›在软件开发过程中邀请同行对工作产品进行审查,以图尽早查找出工作产品缺陷,进行质量控制的的一种质量活动。

Review的意义
›降低返工(rework)的成本。

›越早开展对项目越有价值,推荐开展100% review,在代码完成一个类/函数和文档完成一个Story的分析设计时进行一次review。

代码审查九字真言:
1. 看见了If,就想Else。
2. 看见malloc,就去找Free。
3. 函数调用要小心,需要看看返回值。
4. 看到for循环,就找边界值。
5. 看见return要注意,要去前面找资源。
6. 看见数组把神提,问题往往在下标。
7. 不要小看字符串,长度是个大问题。
8. 得到函数不要急,看看变量初始化,各种路径要小心。
9. 赋值函数最危险,变量没有初始化。
九句句真言不孤立,相互结合显神威。

 

下面总结了在一个简单列表中最容易保持的11项实践方式:

1、一次评审少于200--400行的代码。

2、目标为每小时低于300-500LOC的检查速率。

3、花足够的时间进行正确缓慢的评审,但是不要超过60-90分钟。

4、确定代码开发者在评审开始之前就已经注释了源代码。

5、为代码评审和获取制度建立可定量化的目标,这样您才能改进流程。

6、使用检查列表,因为它可以极大地改进代码开发者和评审者得作品。

7、确认缺陷确实得到修复了。

8、培养良好的代码评审文化氛围,在这样的氛围中搜索缺陷被看做是积极的活动。

9、警惕“老大哥”效应。(作为一个开发员,您可以自动假设“老大哥正看着您呢”是真的,如果评审制度是由评审支持工具自动评价的,更是这样的。)

10、最少评审一部分代码,就是您不能评审全部的代码,以从Ego Effect(自我效能感)中受益。

11、采用轻量级,能用工具支持的代码评审。

posted on 2014-08-15 10:43  木叶堂  阅读(483)  评论(0编辑  收藏  举报

导航