代码REVIEW指南

原创 2013年12月06日 10:21:04


一、概要

代码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.

摘抄——OWASP_Code_Review_Guide-V1_1 (1)

web安全之不信任的数据来源
  • u013224189
  • u013224189
  • 2015年11月13日 09:28
  • 456

代码Review的必要性和考虑要素

 极限编程里提到结对编程和代码Review,凡是稍微懂编程的人看了都会赞成。这也体现了代码Review的重要性和必要性。但是,在实际的执行过程中,代码Review往往很难得到很好的执行。主要原因可能包...
  • iammerryz
  • iammerryz
  • 2010年01月06日 12:46
  • 3761

《代码大全》:review与inspection

  第21章Collaborative Construction(协同构建)谈到了review和inspection,读起来很有共鸣,让我回想去过去在公司兼职的一段美好时光。  在公司里,项目的代码是...
  • Solstice
  • Solstice
  • 2006年01月18日 14:18
  • 5956

代码Review那些事

代码Review那些事
  • wwj_748
  • wwj_748
  • 2016年04月27日 20:18
  • 19145

CodeReview要点以及CodeReview报告模板

codeReview
  • Spark2008
  • Spark2008
  • 2016年05月18日 14:16
  • 1676

代码Review与文档的重要性

今天双十一,不想写代码了,就来写写博客吧!双十一什么也没买,不是不想买而是过两天要出两个星期的差怕买的东西没人取....呵呵,单身狗的悲哀。 最近搞得心情挺不好的,工作上配合出现了一些问题。也因此有了...
  • z2wenfa
  • z2wenfa
  • 2016年11月11日 16:17
  • 625

Android产品研发(二十)-->代码Review

本文我们将讲解android中的代码Review。良好的产品开发迭代过程中,代码Review是一个必不可少的步骤,通过代码Review能够提高产品质量,增强团队成员之间的沟通,提高开发效率。所以团队开...
  • qq_23547831
  • qq_23547831
  • 2016年07月14日 21:14
  • 6348

2016-5-30 代码Review问题总结

重要程度划分 S A B C  1.金钱使用无符号数,导致有可能在减钱的时候而加了钱,无符号没有负数(S) (虽然AddBindTickets函数传的金币数是int类型,导致DWORD(u...
  • LightUpHeaven
  • LightUpHeaven
  • 2016年05月31日 10:59
  • 552

Android代码codereview技巧

最近团队在搞codereview,个人感觉codereview对于团队技术积累和代码质量提升的作用还是很大的,因为在codereview中我们可以从很多方面进行技术知识的学习,首先codereview...
  • lihuiqi239
  • lihuiqi239
  • 2016年07月11日 22:40
  • 919

Code Review 之后的总结

1.对于isset和empty的区别 值 Isset IJKLEmpty $a; F T $a = 1 T T $a = null F T array...
  • Rodgexue
  • Rodgexue
  • 2016年01月29日 16:07
  • 3568
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:代码REVIEW指南
举报原因:
原因补充:

(最多只允许输入30个字)