`
MouseLearnJava
  • 浏览: 460134 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Code Review小结

阅读更多
本文将对Code Review进行一个小结。

 

什么是Code Review?

Code Review代码评审是指在软件开发过程中,通过对源代码进行系统性检查的过程。通常的目的是查找各种缺陷,包括代码缺陷、功能实现问题、编码合理性、性能优化等;保证软件总体质量和提高开发者自身水平。 Code Review是轻量级代码评审,相对于正式代码评审,轻量级代码评审所需要的各种成本要明显低得多,如果流程正确,它可以起到更加积极的效果。正因如此,轻量级代码评审经常性地被引入到软件开发过程中。

 

Code Review的目的是什么?
 

我想Code Review的目的是在实现现有需求的基础上,查看一下已有代码是否做到足够的整洁,有无缺陷,在保证质量的同时,去发现代码中存在的不足,防止存在的缺陷延伸到下一个高版本的代码发布。

 

Code Review如何开展?

个人在几个项目中的Code Review大致经历了两个阶段。第一个阶段我暂时称之为“缺少追踪的阶段“。第二个阶段是”拥有追踪功能的阶段“。

 

首先来看第一个阶段的code review吧。

在这个阶段Code Review可以分为组内和组间的code Review。

组内小组成员如A 和 B,在完成自己功能模块的同时,互相查看对方的代码,看看里面的有哪些地方可以做的更好。

在这个阶段是否有重复代码,命名是否符合规范等都将是查看的对象。

比如字符串相加的时,是否使用了StringBuilder / StringBuffer代码+操作。

项目中对字符串是否为空有自己的判断,比如已经有StringUitls.isEmpty()方法来检查一个字符串是否为空。如果代码中还有 if(stringValue != null)等判断,我们将会提出意见使用StringUitls.isEmpty()方法代替。这样将使得代码符合项目的规范,让代码更加统一,整洁。

 

组内之间的code review一般以meeting的方式进行,架构师,项目技术经理,各个组的Team Leader一起聚在一个会议室内对某一个组的代码进行审查。

 

在这个过程中,除了否有重复代码,命名是否符合规范,有些逻辑是否覆盖了所有的场景等都是需要讨论的对象。

这种方式很容易将项目组的人聚在一起,相互沟通交流,随时可以进行,持续的时间不会太长。但是这个中方式有一个弊端,那就是别人提出的意见或建议不能很好地区追踪到,最后,某个组是否按照修改意见来完成修改将无法追踪到,其它组的成员只会给出意见或建议,但是并没有义务去追踪修改的代码。

 

 

第二个阶段 – 可追踪的阶段。
 

后来做过一个美国的项目,该客户很重视Code Review这块,老外的项目做起来还是蛮有规范的。

 

外国的项目较多的是使用JIRA对issue或者新功能进行记录和追踪,项目采用git对代码进行版本控制。使用Jenkins对代码持续集成。相关的代码进行提交后能够在JIRA有个source TAB 上看到所提交的代码。我们可以使用Crucile对代码进行审查,注释,记录结果

Crucible是一个用于开发团队的代码检测工具,有了Crucible团队成员可以检查、注释、编辑代码,并记录结果。当发现一个潜在的代码问题,你可以挑选出这条代码行并做注释。

 

到这个阶段,所有的代码都可以指定一个或多个reviewer去审查,当他们接收到code review的请求时,他们会找时间去完成代码的审查,并对某段代码给出审查意见。然后,发出code review请求的开发人员可以收到代码审查的邮件,开发人员根据审查意见调整代码并给出回复。直到最后将所有代码的code review完成为止。

 

在这个阶段中,所有的代码将有代码审查者,所有的代码修改意见等都可以追踪到,个人觉得这个是目前为止经历的最好的code review方法,有人审,有历史追踪,一目了然。

原文出处: http://www.wangmengjun.com/showArticleDetail.do?articleId=49&cid=1
1
4
分享到:
评论

相关推荐

    Modern Code Review- A Case Study at Google.pdf

    Employing lightweight, tool-based code review of code changes (aka modern code review) has become the norm for a wide variety of open-source and industrial systems. In this paper, we make an ...

    Source Insight 宏 codeReview.em

    CodeReview工具的作用:1.减少评审人的缺陷记录和汇总时间,方便责任人查找问题出处;2.检视完成后生成检查报告,代码作者点击按钮可以直接找到错误处;3.任务责任人修改完成后,直接修改问题状态,组织者按快捷键...

    CodeReview工具Jupiter

    Code Review的作用和意义已在很多技术团队内达成共识,可是很多时候并未被有效执行,甚至被认为是一项费时费力的工作。借助一些工具可以更容易,更有效率地来进行Code Review,本文介绍的Jupiter即是其中之一。  ...

    Source Insight CodeReview宏,增加使用说明

    Source Insight CodeReview宏,增加使用说明。用于代码评审和统计。

    code review

    code review 用来检查代码,生成检查报告的

    code review tool from google

    code review on the web

    code review(程序员必看)

    code review(程序员必看)code review(程序员必看)code review(程序员必看)

    Code Review Checklist

    Code Review ChecklistCode Review ChecklistCode Review Checklist

    PHP-Code-review.rar_PHP codereview_php code review_php代码review

    代码审核,是对应用程序源代码进行系统性检查的工作。它的目的是为了找到并且修复应 用程序在开发阶段存在的一些漏洞或者程序逻辑错误,避免程序漏洞被非法利用给企业带来不必 要的风险。

    OWASP Code Review Guide

    There are four basic techniques for analyzing the security of a software application - automated scanning, manual penetration testing, static analysis, and manual code review. This OWASP Guide is ...

    C++ Code Review检查清单

    C++代码 Code Review时使用的检查清单和问题记录模板

    CodeReview工具

    包含jupiter和reviewclipse两款eclipse插件,做code review使用。有效的code review能有效改善bug多发,代码质量低下等问题

    code review代码检测原理

    本文叫你如何进行code review代码检测

    CodeReview.em

    source insighet 集成code review,代码审核时非常好用,使用起来比较简单,加入工程,同步,添加快捷键,使用快捷键即可正常使用,保存即可。

    Steven Code Review 代码在线审查

    Steven Code Review 2009.12M1发布包.rar 代码在线审查工具 @date: 2009-12-28 @author: YF @email: yifi@tom.com 功能: 1 方便学员学习教师的代码,无需在本机运行IDE即可以代码加亮的方式查看服务器共享的代码...

    漫谈codereview

    漫谈codereview,关于review的一些基础知识和总结。

    Java项目开发CodeReview 常见问题实例分析及指南

    CodeReview的基本手段还是需要技术经理通过人工检查项目成员的代码,来将各种问题扼杀在开发阶段,但是不同经验及技术水平的经理在review同一段代码所发现的问题可能相差比较大,不同的Team可能因此产生的效果也不同...

    zyh-code-review.rar

    zyh-code-review.rarzyh-code-review.rarzyh-code-review.rarzyh-code-review.rar

    Codereview 代码审查工具(国人开发)

    软件介绍: 一、软件特色 功能丰富:实现文件内容、度量、命名、注释、类图、Halstead等审查。 简单易用:无需安装,直接使用,直接删除;... 直观可视:分析结果与源代码在同一界面显示对照,...http://www.codereview.com.cn

    CodeReview常見代碼問題

    CodeReview常見代碼問題,常见的潜在代码问题是当前直接会导致BUG、故障或者产品功能不能正常工作的类别。

Global site tag (gtag.js) - Google Analytics