代码REVIEW指南


一、概要

代码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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值