关闭

代码REVIEW指南

标签: 单元测试 代码评审 code revie
382人阅读 评论(0) 收藏 举报
分类:


一、概要

代码Review 是被鼓励在开过过程全阶段执行,在一些关键点代码Review是被正式要求执行。本指南中规范代码审查活动,并指导审查人员按照该指南执行该活动。

 

二、过程

1、新增代码

         ACTION1:开分人员提交代码列表(Email)

·        并对代码review状态列设置成未Review标志

·        在列表上边注释中指定review人员(例如David: pls review)

·        在SVN注释中,提供标准信息:SVN diffs,branch info ,and explanation

          ACTION2:审查人员收到代码审查Email

·        如果代码通过审查,添加注释ok

·        如果代码没有通过审查,需要田间注释说明问题(如需要可开bug跟踪)

2、BUG导致修改代码

          ACTION1:开分人员提交代码审查申请,在当前bug下(Jira),触发Email

·        并对代码review状态列设置成未Review标志

·        在注释中指定review人员(例如David: pls review)

·        在SVN注释中,提供标准信息:SVN diffs,branch info ,and explanation

         ACTION2:审查人员收到代码审查Email

·        如果代码通过审查,在jira中添加注释ok

·        如果代码没有通过审查,需要在jira中添加注释说明问题(如需要可开bug跟踪)

3、小需求导致修改代码(jira)

         ACTION1:开分人员提交代码审查申请,在当前需求管理下(Jira),触发Email

·        并对代码review状态列设置成未Review标志

·        在注释中指定review人员(例如David: pls review)

·        在SVN注释中,提供标准信息:SVN diffs,branch info ,and explanation

        ACTION2:审查人员收到代码审查Email

·        如果代码通过审查,在jira中添加注释ok

·        如果代码没有通过审查,需要在jira中添加注释说明问题(如需要可开bug跟踪)

 

三、代码标准

   * C++:  C&C++编程规范

   * Java: Java编程规范

   * SQL:   SQL 编写规范

 

四、代码检查列表

功能正确性:代码是否满足他要实现的功能需求

代码复用性:是否已经有其他的代码实现了这部分功能,部分或者全部?

代码样式/可读性:是否提供了正确的注释、代码缩进,并遵循了编码规范?

效率:是否有更好的方法来执行这个功能

内存分配:是否有可能内存泄露

无效内存操作:是否有些用例导致无效的内存访问,包括可能的缓存溢出的可能

边界情况:是否所有可能的边界都进行了覆盖

线程安全:在多线程环境是否有竞争条件和其他不安全的数据存在

版本注释:确认不敢修改信息、新的log错误代码和配置变更信息加到了版本注释中

 

五、模板

CODE REVIEW:

   Functionality:

   Code Re-use:

   Style:

   Efficiency:

   Memory Allocation:

   Invalid Memory Ops:

   Boundary Cases:

   Thread Safety:

   Release Notes:

   Logging:

每一项需要添加标识“OK” 或者”NG” ,如果是“NG”,需要提供注释进行解释。

Example1:

CODE REVIEW:

   Functionality:  OK

   Code Re-use: OK

   Style: OK

   Efficiency: OK

   Memory Allocation: OK

   Invalid Memory Ops: OK

   Boundary Cases: OK

   Thread Safety: OK

   Release Notes: OK

   Logging: OK

Example 2:

CODE REVIEW:

   Functionality:  OK

   Code Re-use: OK

   Style: OK

   Efficiency: OK

   Memory Allocation: OK

   Invalid Memory Ops: OK

   Boundary Cases: NG.  Does not properly handle the case where i is0.

   Thread Safety: OK

   Release Notes: NG.  New configuration parameter not listed.

  Logging: OK.

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:23401次
    • 积分:529
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:2篇
    • 译文:4篇
    • 评论:0条