对于代码review个人也有些小小的看法:
1.首先我觉得我们所有开发人员要弄明白 现在Code Review 的目的 ,凡事不弄明白目的,无法做好完成一件事情,个人觉得有以下一些目的:
a)可以在项目早期就能够发现代码中的BUG ,提测后可以尽快的释放开发资源;
b)同时可以达到知识共享 ,避免我们所有开发人员犯一些很常见,很普通低级的错误 ;
c)保证项目组人员的良好沟通 ,项目的代码更容易维护
大家还有希望补充上

2.Code Review 很容易变得没有意义或是流于形式,进入 Code Review 个人觉得以下几点肯定得弄明确:
a) 我们是否理解了 Code Review 的概念和 Code Review 将做什么,这点都不明白,做法可能就会是应付了事。
b) 我们的代码是否已经正确的 build , build 的目的使得代码已经不存在基本语法错误 ,我们总不希望review人员浪费在检查连编译都通不过的代码上吧。
c) 我们 Review 人员是否理解了代码 ,做复查的人员需要对该代码有一个基本的了解,其本功能是什么,具体的业务是怎样的,这样才能采取针对性的检查

3 .具体检查点
1 完整性检查
代码是否完全实现了设计文档中提出的功能需求
代码中是否存在任何没有定义或没有引用到的变量、常数或数据类型

2一致性检查
代码的逻辑是否符合设计文档
代码中使用的格式、符号、结构等风格是否保持一致
3正确性检查
代码是否符合制定的标准
所有的变量都被正确定义和使用
所有的注释都是准确的
4 可修改性检查
       代码涉及到的常量是否易于修改 ( 如使用配置、定义为类常量、使用专门的常量类等 )

5可预测性检查
       代码是否具有定义良好的语法和语义
       代码是否无意中陷入了死循环
       代码是否是否避免了无穷递归

6健壮性检查
       代码是否采取措施避免运行时错误(什么空指针异常等,有很多是程序里面处理了,但打印日志时没有判断,不知道大家有没有犯过这样的错误哟)

7可理解性检查
       注释是否足够清晰的描述每个子程序 ,对于没用的代码注释是否删除
       是否使用到不明确或不必要的复杂代码,它们是否被清楚的注释
       使用一些统一的格式化技巧(如缩进、空白等)用来增强代码的清晰度
       是否在定义命名规则时采用了便于记忆,反映类型等方法
      循环嵌套是否太长太深?
8可验证性检查
       代码中的实现技术是否便于测试
具体的杨帅同学也整理的很多很多,希望我们讨论会上所有人员能达成一个共识,慢慢去完善!

最后抛出一个问题,希望大家抛砖
Review中,我们发现开发人员代码的一些非逻辑问题(辟如:不符合面象接口编程的思想等,只是个举例,嘿嘿),不修改也行,因为逻辑是OK的,如果修改的话可能又要花上一些时间,此时项目的进度方面将无法保证,该如何去做?

代码review的更多相关文章

  1. 部署代码review和CI

    公司原先搭了一个代码Review的服务器,由于历史原因,装的是一个32bit的Ubuntu系统,后来由于需要,需要安装gitlab,由于gitlab需要64位系统,所以临时凑合了个vagrant,本质 ...

  2. 前端代码质量保障之代码review

    经验丰富的程序员和一般程序员之间的最大区别,不仅体现在解决问题的能力上, 还体现在日常代码的风格上.掌握一门技术可能需要几月,甚至几周就够了. 好的习惯风格养成却需数年. 团队成员之间需要合作,代码需 ...

  3. 由学习《软件设计重构》所想到的代码review(一)

    前言 对于一个程序猿来讲怎样来最直接的来衡量他的技术能力和产出呢?我想最直观的作法是看他的代码编写能力,就拿我常常接触的一些程序猿来看,他们买了非常多技术重构类书籍.可是看完后代码编写能力并没有显著提 ...

  4. 对于近阶段公司代码 review 小结

    来新公司,给公司的SDK review了一下.发现了不少小问题,在此总结一下. (我下面说明问题可能是很简单,但是搞清楚某些问题还是花了些时间的,大家引以为戒吧) 先谈谈处理的问题: 1.某天QA说有 ...

  5. 代码review的流程

    以前我们一直都是如果要进行代码review的时候,要不我们就直接用idea来进行查看,根据不同的来查看 但是我们都是看代码的不同来进行来实现的,其实我们不需要这样,我们可以使用工具Phabricato ...

  6. 研发团队如何借助Gitlab来做代码review

    代码review是代码质量保障的手段之一,同时开发成员之间代码review也是一种技术交流的方式,虽然会占用一些时间,但对团队而言,总体是个利大于弊的事情.如何借助现有工具在团队内部形成代码revie ...

  7. Gitlab来做代码review

    Gitlab来做代码review 代码review是代码质量保障的手段之一,同时开发成员之间代码review也是一种技术交流的方式,虽然会占用一些时间,但对团队而言,总体是个利大于弊的事情.如何借助现 ...

  8. Gerrit代码Review实战

    代码审核(Code Review)是软件研发质量保障机制中非常重要的一环,但在实际项目执行过程中,却因为种种原因被Delay甚至是忽略.在实践中,给大家推荐一款免费.开放源代码的代码审查软件Gerri ...

  9. 敏捷开发:代码Review

    热情高涨 代码走查作为一种流程形式,起初大家的参与热情非常高涨. 因为,自己可以学习到别人一些巧妙的思想,自己的代码和习惯都暴漏出来. 这个过程中不断地吸收和改正. 但是...... 我们一开始组织的 ...

随机推荐

  1. Centos 5.x 升级 python2.7,安装setuptools、mysqldb 完整记录

      最近由于有个工作任务需要搭个虚拟机环境,但是环境是搭建在内网,无法直接联网,很多软件都不能直接yum安装, 安装过程实在十分不顺利,在此留个记录给有需要的朋友. 环境是 CentOS 5.7 x6 ...

  2. BZOJ_2208_[Jsoi2010]连通数_强连通分量+拓扑排序+手写bitset

    BZOJ_2208_[Jsoi2010]连通数_强连通分量+拓扑排序+手写bitset Description Input 输入数据第一行是图顶点的数量,一个正整数N. 接下来N行,每行N个字符.第i ...

  3. Mysql错误: ERROR 1205: Lock wait timeout exceeded; try restarting transaction

    MySQL:innodb的事务锁,一个线程占用着,简单做法是:执行mysql命令: show full processlist; 然后找出查询语句的系统id:kill掉被锁住的线程id:kill 12 ...

  4. spring : springmvc常用注解标签详解(转)

    新的项目,新的学习,好久没用这些注解了,同时在学习使用shiro ,lucene 等等.在网上找了些博文,感谢作者的总结和分享. 欢迎交流,言归正传: 1.@Controller 在SpringMVC ...

  5. C#操作句柄

    1.直接上例子吧:收集系统信息msinfo32时,会有一个弹窗,现在要隐藏该弹窗,首先看没有通过句柄隐藏弹窗的现象 2.收集系统信息导入到一个位置 代码: Process[] msinfo32proc ...

  6. C++虚继承作用

    C++虚继承可以防止多重继承产生的二义性问题. 虚继承,就是在被继承的类前面加上virtual关键字,这时被继承的类称为虚基类,如下面代码中的base类.虚继承在多重继承的时可以防止二义性. clas ...

  7. .NET Core 3.0之深入源码理解Configuration(三)

      写在前面 上一篇文章讨论了文件型配置的基本内容,本篇内容讨论JSON型配置的实现方式,理解了这一种配置类型的实现方式,那么其他类型的配置实现方式基本可以触类旁通.看过了上一篇文章的朋友,应该看得出 ...

  8. 使用Spring Security控制会话

    1.概述 在本文中,我们将说明Spring Security如何允许我们控制HTTP会话.此控件的范围从会话超时到启用并发会话和其他高级安全配置. 2.会话何时创建? 我们可以准确控制会话何时创建以及 ...

  9. vue仿淘宝地址选择组件

    Vue组件:省市区地址选择组件 <template> <div v-show="addressSelectShow" :style="{'left': ...

  10. c# Marshal.PtrToStructure(StructPtr, typeof(T)); 特别注意

    以下异常:Marshal.PtrToStructure(StructPtr, typeof(T)); 原因:  在实际使用中 T 没有一个 parameterless  constructor 于是加 ...