好文档 - 专业文书写作范文服务资料分享网站

Code Review 代码审查

天下 分享 时间: 加入收藏 我要投稿 点赞

Code Review 代码审查

Code Review 代码审查 ................................................................................................................... 1 1.关于Code Review ...................................................................................................................... 2

1.1 Code Review的目的 .................................................................................................. 2 1.2 Code Review的前提 .................................................................................................. 2 1.3 Code Review需要做什么 .......................................................................................... 2

1.3.1 完整性检查(Completeness) .................................................................... 3 1.3.2 一致性检查(Consistency) ....................................................................... 3 1.3.3 正确性检查(Correctness) ........................................................................ 3 1.3.4 可修改性检查(Modifiability) .................................................................. 3 1.3.5 可预测性检查(Predictability) ................................................................. 3 1.3.6 健壮性检查(Robustness) ......................................................................... 3 1.3.7 结构性检查(Structuredness) ................................................................... 3 1.3.8 可追溯性检查(Traceability) .................................................................... 4 1.3.9 可理解性检查(Understandability) .......................................................... 4 1.3.10 可验证性检查(Verifiability) ......................................................................... 4 1.4 Code Review的步骤 ............................................................................................... 4

2.Code Reivew的执行 .................................................................................................................. 5

2.1.事前准备阶段 .......................................................................................................... 5

2.1.1.CR的对象 .................................................................................................... 5 2.1.2.CR的内容 .................................................................................................... 5 2.1.3.评审规范和标准 ........................................................................................... 5 2.1.4.选择CR活动的参与者................................................................................ 5 2.1.5.选择CR活动的实施方式。 ........................................................................ 5 2.2.实施阶段 .................................................................................................................. 6

2.2.1.准确记录 ....................................................................................................... 6 2.2.2.讲解与提问 ................................................................................................... 6 2.2.3.逐项审查 ....................................................................................................... 6 2.2.4.注意气氛 ....................................................................................................... 6 2.3. 事后跟踪跟踪。 ....................................................................................................... 6

2.3.1. 确认发现的问题 ............................................................................................ 6 2.32. 修正问题责任者 ............................................................................................. 6 2.3.3. 修正结果确认者 ............................................................................................ 7

3.注意事项 ..................................................................................................................................... 7

3.1. 经常进行Code Review .................................................................................... 7 3.2. Code Review不要太正式,而且要短 .......................................................... 7 3.3. 尽可能的让不同的人Reivew你的代码 ......................................................... 7 3.4. 保持积极的正面的态度 ................................................................................... 8 3.5. 学会享受Code Reivew .................................................................................... 8

相关资料........................................................................................................................................... 8 资料来源........................................................................................................................................... 8

1.关于Code Review

1.1 Code Review的目的

Code Review是一种用来确认方案设计和代码实现的质量保证机制,通过这个机制我们可以对代码、测试过程和注释进行检查。

Code Review主要用来在软件工程过程中改进代码质量,通过Code Review可以达到如下目的目的:

(1)在项目早期就能够发现代码中的BUG

(2)帮助初级开发人员学习高级开发人员的经验,达到知识共享 (3)避免开发人员犯一些很常见,很普通的错误 (4)保证项目组人员的良好沟通 (5)项目或产品的代码更容易维护

1.2 Code Review的前提

进入Code Review需要检查的条件如下:

(1)Code Review人员是否理解了Code Review的概念和Code Review将做什么

如果做Code Review的人员不能理解Code Review对项目成败和代码质量的重要程度,他们的做法可能就会是应付了事。

(2)代码是否已经正确的build,build的目的使得代码已经不存在基本语法错误

我们总不希望高级开发人员或是主管将时间浪费在检查连编译都通不过的代码上吧。 (3)代码执行时功能是否正确

Code Review人员也不负责检查代码的功能是否正确,也就是说,需要复查的代码必须由开发人员或质量人员负责该代码的功能的正确性。 (4)Review人员是否理解了代码

做复查的人员需要对该代码有一个基本的了解,其功能是什么,是拿一方面的代码,涉及到数据库或是通讯,这样才能采取针对性的检查 (5)开发人员是否对代码做了单元测试

这一点也是为了保证Code Review前一些语法和功能问题已经得到解决,Code Review

人员可以将精力集中在代码的质量上。

1.3 Code Review需要做什么

Code Review主要检查代码中是否存在以下方面问题:

代码的一致性、编码风格、代码的安全问题、代码冗余、是否正确设计以满足需求(性能、功能)等等

1.3.1 完整性检查(Completeness)

代码是否完全实现了设计文档中提出的功能需求 代码是否已按照设计文档进行了集成和Debug

代码是否已创建了需要的数据库,包括正确的初始化数据

代码中是否存在任何没有定义或没有引用到的变量、常数或数据类型

1.3.2 一致性检查(Consistency)

代码的逻辑是否符合设计文档

代码中使用的格式、符号、结构等风格是否保持一致

1.3.3 正确性检查(Correctness)

代码是否符合制定的标准

所有的变量都被正确定义和使用 所有的注释都是准确的

所有的程序调用都使用了正确的参数个数

1.3.4 可修改性检查(Modifiability)

代码涉及到的常量是否易于修改(如使用配置、定义为类常量、使用专门的常量类等) 代码中是否包含了交叉说明或数据字典,以描述程序是如何对变量和常量进行访问的 代码是否只有一个出口和一个入口(严重的异常处理除外)

1.3.5 可预测性检查(Predictability)

代码所用的开发语言是否具有定义良好的语法和语义 是否代码避免了依赖于开发语言缺省提供的功能 代码是否无意中陷入了死循环 代码是否是否避免了无穷递归

1.3.6 健壮性检查(Robustness)

代码是否采取措施避免运行时错误(如数组边界溢出、被零除、值越界、堆栈溢出等)

1.3.7 结构性检查(Structuredness)

程序的每个功能是否都作为一个可辩识的代码块存在 循环是否只有一个入口

1.3.8 可追溯性检查(Traceability)

代码是否对每个程序进行了唯一标识

是否有一个交叉引用的框架可以用来在代码和开发文档之间相互对应 代码是否包括一个修订历史记录,记录中对代码的修改和原因都有记录 是否所有的安全功能都有标识

1.3.9 可理解性检查(Understandability)

注释是否足够清晰的描述每个子程序

是否使用到不明确或不必要的复杂代码,它们是否被清楚的注释

使用一些统一的格式化技巧(如缩进、空白等)用来增强代码的清晰度 是否在定义命名规则时采用了便于记忆,反映类型等方法 每个变量都定义了合法的取值范围

代码中的算法是否符合开发文档中描述的数学模型

1.3.10 可验证性检查(Verifiability)

代码中的实现技术是否便于测试

1.4 Code Review的步骤

这些是我在平时工作中的经验总结,目前也是按照这个步骤在做。

(1)代码编写者和代码审核者坐在一起,由代码编写者按照UC依次讲解自己负责的代码和相关逻辑,从Web层->DAO层;

(2)代码审核者在此过程中可以随时提出自己的疑问,同时积极发现隐藏的bug;对这些bug记录在案。

(3)代码讲解完毕后,代码审核者给自己安排几个小时再对代码审核一遍。

代码需要一行一行静下心看。同时代码又要全面的看,以确保代码整体上设计优良。 (4)代码审核者根据审核的结果编写“代码审核报告”,“审核报告”中记录发现的问题及修改建议,然后把“审核报告”发送给相关人员。

(5)代码编写者根据“代码审核报告”给出的修改意见,修改好代码,有不清楚的地方可积极向代码审核者提出。

(6)代码编写者 bug fix完毕之后给出反馈。

(7)代码审核者把Code Review中发现的有价值的问题更新到\代码审核规范\的文档中,对于特别值得提醒的问题可群发email给所有技术人员。 提示

Code Review必备的文档:

“代码审核规范”文档:记录代码应该遵循的标准。 代码审核者根据这些标准来Code Review代码,同时在Code Review过程中不断完善该文档。

2.Code Reivew的执行

一个标准的Code Reivew活动应该分为三个阶段:

2.1.事前准备阶段

在一次CR前,对以下内容进行充分准备。

2.1.1.CR的对象

在准备CR代码对象时,我们要注意代码的数量,如果代码量比较大,要对代码进行必要的分解,确定其中的关键代码,对关键代码进行CR,可以达到举一反三的目的。

2.1.2.CR的内容

我们对代码的审查内容很多,如代码的编写是否规范(注释的书写格式、命名规范等)、技术处理规范(异常处理、日志处理、代码组织结构等)、业务实现等。我们不能希望通过一次CR活动,完成所有这些内容的审查,因此我们必须设定本次CR活动内容界限,确定审查重点;

2.1.3.评审规范和标准

在CR前设计确定评审规范和标准是必要,通过规范和标准我们在审查过程中可以有据可依,有理可循,而且还可以做到标准统一。

2.1.4.选择CR活动的参与者

在CR开始前,必须把本次CR活动的对象、审查内容以及审查的规范和标准通报给所有的参与者。

2.1.5.选择CR活动的实施方式。

CR活动有很多形式可供我们选择,我们可以根据实际情况选择桌面式CR、演示讲解式CR、一对一的座位CR等等。

Code Review 代码审查

CodeReview代码审查CodeReview代码审查...................................................................................................................11.关于CodeReview..............
推荐度:
点击下载文档文档为doc格式
5ww3m0aqjt57eja0pqkz5136q5t3t4006tc
领取福利

微信扫码领取福利

微信扫码分享