本文将对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
分享到:
相关推荐
**Source Insight CodeReview宏**是专门针对Source Insight这款强大的源代码查看和编辑工具设计的一套扩展功能,主要用于代码评审和统计。Source Insight以其强大的代码导航、语法高亮和实时分析能力,深受程序员...
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 ...
Code Review是软件开发过程中的一个重要环节,它有助于提高代码质量,发现潜在的错误,以及确保团队成员间的代码风格一致。本文将详细介绍两款Eclipse插件——Jupiter和Reviewclipse,它们是进行Code Review的有力...
在实际使用中,下载的压缩包文件"IntellijIDEA-CodeReview-Plugin-master"包含了插件的源代码,开发者可以对其进行定制或扩展以满足特定团队的需求。安装插件通常包括以下几个步骤: 1. 解压下载的压缩包。 2. 打开...
Code Review的作用和意义已在很多技术团队内达成共识,可是很多时候并未被有效执行,甚至被认为是一项费时费力的工作。借助一些工具可以更容易,更有效率地来进行Code Review,本文介绍的Jupiter即是其中之一。 ...
CodeReview工具的作用:1.减少评审人的缺陷记录和汇总时间,方便责任人查找问题出处;2.检视完成后生成检查报告,代码作者点击按钮可以直接找到错误处;3.任务责任人修改完成后,直接修改问题状态,组织者按快捷键...
我一直认为CodeReview(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题。包括像Google、微软这些公司,CodeReview都是基本要求,代 我一直认为CodeReview(代码...
在Redmine中,Code Review插件是一个重要的扩展,它致力于帮助开发团队进行代码审查,提升代码质量和团队协作效率。本文将详细介绍如何使用Redmine的Code Review插件。 首先,安装Code Review插件是必要的步骤。...
静态测试方法之代码审查(CodeReview)的清单。代码审查可以帮助提高代码质量,避免由于代码习惯而造成的bug。下面列出的这些要点因该可以作为大部分代码审查的指导,如果是Java应用的话,这些建议应该被视作最佳实践...
代码审核,是对应用程序源代码进行系统性检查的工作。它的目的是为了找到并且修复应 用程序在开发阶段存在的一些漏洞或者程序逻辑错误,避免程序漏洞被非法利用给企业带来不必 要的风险。
C++代码 Code Review时使用的检查清单和问题记录模板
source insighet 集成code review,代码审核时非常好用,使用起来比较简单,加入工程,同步,添加快捷键,使用快捷键即可正常使用,保存即可。
### CodeReview中的常见代码问题分析 #### 一、引言 在软件开发过程中,CodeReview(代码审查)是一项至关重要的活动。它不仅有助于提高代码质量,还能促进团队成员之间的知识共享和技术交流。本文将深入探讨Code...
Steven Code Review 2009.12M1发布包.rar 代码在线审查工具 @date: 2009-12-28 @author: YF @email: yifi@tom.com 功能: 1 方便学员学习教师的代码,无需在本机运行IDE即可以代码加亮的方式查看服务器共享的代码...
`CodeReview.em`可能是一个包含了代码审查过程记录或结果的文件,而`codereivew.docx`可能是详细的代码审查报告,其中可能详细列出了审查过程中发现的问题、建议的修改以及后续的行动计划。通过这两个文件,团队成员...
漫谈codereview,关于review的一些基础知识和总结。
zyh-code-review.rarzyh-code-review.rarzyh-code-review.rarzyh-code-review.rar
软件介绍: 一、软件特色 功能丰富:实现文件内容、度量、命名、注释、类图、Halstead等审查。 简单易用:无需安装,直接使用,直接删除;... 直观可视:分析结果与源代码在同一界面显示对照,...http://www.codereview.com.cn
标题:Code Review Tool from Google 描述:Code review on the web 根据给定的文件信息,我们可以提炼出关于代码审查(Code Review)及其在谷歌开发流程中的应用的关键知识点。 ### 什么是代码审查? 代码审查...