代码review

         这两天进行代码review,记录下相关的概念及自己的理解

什么是代码评审

Code review is systematic examination(often as peer review) of computer source code intended to find and fixmistakes overlooked in the initial development phase, improving both theoverall quality of software and the developers’ skills.

代码评审是指在软件开发过程中,通过对源代码进行系统性检查的过程。通常的目的是查找系统缺陷,保证软件总体质量和提高开发者自身水平。

为什么进行代码评审

1.提高质量

2.及早发现潜在缺陷与BUG,降低事故成本。

3.促进团队内部知识共享,提高团队整体水平

4.评审过程对于评审人员来说,也是一种思路重构的过程。帮助更多的人理解系统。

代码review的基本原则

1.基本情况

    1.1代码是否遵循编程指南?

         1.2代码是否有自我记录能力?能否通过阅读理解代码?

         1.3是否已经解决了代码规则检查和(或)运行错误检测工具发现的所有错误?

2注释

         2.1注释是否反映了最新的情况?

         2.2注释是否清晰正确?

         2.3如果代码被变更,修改注释是否容易?

         2.4注释是否着重解释了为什么,而不是怎么样?

         2.5是否所有的意外、异常情况和解决方法错误都有注释?

         2.6每个操作的目的是否都有注释?

         2.7与每个操作有关的其他事实是否都有注释?

 

3源代码细节

         3.1是否每一个操作都有一个描述其操作内容的名称?

         3.2参数是否有描述性的名称?

         3.3完成各个操作的正常路径是否与其他异常路径有明显区别?

         3.4操作是否太长,它能否通过将有关语句提取到专用操作中进行简化?

         3.5操作是否太长,它能否通过减少判定点的数目进行简化?决策点是代码可以采取不同路径的语句,例如if-、else-、and-、while- 和case- 语句。

         3.6循环嵌套是否已减至最少?

         3.7变量命名是否适当?

          3.8代码是否简单明了,是否避免了使用“技巧性”的方法?

 

自动代码复查工具

 CheckStyle

  FindBugs

  PMD

 

FindBugs 是一个静态分析工具, 主要专注于检查程序错误和性能问题。主站网址http://findbugs.sourceforge.net  有for eclipse的插件,插件下载网址是 http://findbugs.sourceforge.net/downloads.html  

工作原理: 它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。

规则定义:默认规则列表,可以自选需检查的项目.

 

CheckStyle:主要用于检查代码规范主站网址http://checkstyle.sourceforge.net/  有for eclipse的插件,插件下载网址是http://sourceforge.net/projects/eclipse-cs/files/Eclipse%20Checkstyle%20Plug-in/

工作原理:检查源码,对javadoc,书写格式、基本错误等进行检查.

规则定义:默认的规则是sun的编码规范. 可以自定义规范.

 

PMD也是一个静态分析工具,目前版本4.2.5 , 主站网址http://pmd.sourceforge.net/    有for eclipse的插件,插件下载网址是   http://pmd.sourceforge.net/eclipse

工作原理: PMD通过静态分析获知代码错误。也就是说,在不运行Java程序的情况下报告错误。

规则定义:默认规则列表,可以自选需检查的项目,也可以自定义规则.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值