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

发个无聊的贴子,看看大家怎么看code review的

阅读更多
最近公司在搞流程改进,而code review就不可避免地成了技术小组关心的一个重要问题,因为公司和CMMI一直在推,效果却非常不理想

正是因为我们做的效果不理想,而网上牛人们却在不停地推它,所以,我们就宁可相信这个code review是个很好的东东,是我们自身没有做对而已

下面是我和公司一同事讨论得出的一个方案,供大家参考(我们考虑的重点是可行性、实际效果和执行效率)
1.  开发刚开始的阶段,由TL和PM召集大家坐在一起进行几次review(至少3-5次)
2.  在开发过程中,如果开发人员觉得哪段代码写得不是太好时可以请senior/TL/designer帮忙review
3.  senior/TL/designer在某一模块完成之前,必需完成该模块的review


对方案的一些解释:

1. 第一条的目的是在项目开始的时候,把一些代码规范和参照设计文档写代码的习惯传达给大家
2. 第二条的目的是让开发人员有这样的一个机会请senior/TL/designer来帮忙查看一下代码,提前发现一些问题。这一条需要开发人员的主动性,如果他真的想把代码写好,在遇到问题时,我相信是一定会有这个主动性的。另外,即使开发人员不能提问,那还有第三条来保证代码质量。
3. 第三条的目的是TL/Senior/Designer出于对项目一致性或质量的要求,会去做出review,看代码是否符合设计,是否符合编码规范,是否有哪些写法值得提醒开发人员注意。在这一点上,要求review工作在某一个模块完成的时候同时完成,不应该在开发人员开发完成后再做review,让开发人员把模块都做完后来返工是件不太好的事。这也就要求PM在排计划的时候,一定要给TL/Senior/Designer安排合适的时间来完成review工作

所以,我们必须要有统一、稳定的编码规范(format, 目录结构等),供review的参考的设计,开发人员提出review的请求后能得到积极的响应,并给出有效的建议

下面的链接是ozzzzzz大师发起的讨论,遗憾的是我不能找到他的那篇关于code review的文章,希望有人能分享一下
http://www.iteye.com/topic/2217

分享到:
评论
16 楼 kimmking 2008-06-19  
传统的公司中,pair不可想象,

试问:领导者如何会乐意见到每时每刻都有一个人在“闲”着!
15 楼 kimmking 2008-06-19  
seen 写道
等等 为什么2是不需要的?难不成老板要说,我付给你8小时工资,你就得干8小时的活?



如果老板这么说,我会忍不住亲他一口。
无休止的无意义的无薪酬的加班。
我已经忍无可忍。
14 楼 spiritfrog 2008-06-19  
pair感觉上比code review容易推广,
但事实上又看到code review的模式多一些。也许大家都更相信集体力量大, pair的人员组合是个问题, 应该是一个水平高点的带水平低一点的,很难找到合适资源吧。
13 楼 leton2008 2008-06-18  
我个人倾向于多种方式结合的模式。有这几个要求:
1,只有在代码需要check in的时候才需要进行检查。结对人员必须无条件暂停工作进行code review.
2,代码检查分3个阶段进行:
  a,自动工具检查。使用IDE的插件功能进行检查。这类工具有Check Style,PMD,jTest等工具。我个人比较喜欢PMD,因为可以更容易组合规则,PMD支持大部分的IDE (Eclipse,IDEA,JBuilder,NetBeans....).
  b,个人自检。个人经过一定的修正后,个人再对照公司的代码规范和代码编写建议进行自检。
  c,Pair Review,结对检查。结对人员也可以再参考公司的规范和建议进行检查,同时还需要针对开发任务书进行代码检查。

但是以现行的很多公司来说。这样实施的开发成本较高。就跟做文档评审先需要进行文档评审准备会一样。但是如果能坚持实施,我个人认为对项目和组员都是有很大的帮助的。

之前也在寻找如何解决code review的途径,参考过的资料包括:
http://www.ibm.com/developerworks/cn/java/j-cq06306/index.html
“追求代码质量: 用代码度量进行重构(http://www.ibm.com/developerworks/cn/java/j-cq05306/index.html)”(Andrew Glover, developerWorks,2006 年 5 月):用 Extract Method 模式进行重构和简化复杂代码。
这是IBM开发者社区的系列文章,我觉得很有帮助的。
12 楼 fuwang 2008-06-18  
你们说的是什么类型的公司啊,国内绝大多数公司都不可能实行pair,
code review都是很稀有的事情。
老板要省成本,而且最喜欢在开发这一块省。
11 楼 andyhu1007 2008-06-18  
seen 写道
gigix 写道
seen 写道
等等 为什么2是不需要的?难不成老板要说,我付给你8小时工资,你就得干8小时的活?

想休息可以休息,但是要清楚每段时间是在做什么。跟同伴说一声“我现在要休息半小时”有助于更好的管理时间。


ok。。。我只好说,我不适合这种管理方式
当然 我还是有兴趣尝试那么几次pair的 感觉就像玩大家一起来找茬-我经常跟老婆两个人一起玩这个游戏



跟老婆pair。。。寒。。。

不过习惯这个问题,我倒觉得人是应该有适应能力的。没试之前,最好不要说自己不适合。试了再说。
10 楼 seen 2008-06-17  
gigix 写道
seen 写道
等等 为什么2是不需要的?难不成老板要说,我付给你8小时工资,你就得干8小时的活?

想休息可以休息,但是要清楚每段时间是在做什么。跟同伴说一声“我现在要休息半小时”有助于更好的管理时间。


ok。。。我只好说,我不适合这种管理方式
当然 我还是有兴趣尝试那么几次pair的 感觉就像玩大家一起来找茬-我经常跟老婆两个人一起玩这个游戏
9 楼 gigix 2008-06-17  
seen 写道
等等 为什么2是不需要的?难不成老板要说,我付给你8小时工资,你就得干8小时的活?

想休息可以休息,但是要清楚每段时间是在做什么。跟同伴说一声“我现在要休息半小时”有助于更好的管理时间。
8 楼 seen 2008-06-17  
等等 为什么2是不需要的?难不成老板要说,我付给你8小时工资,你就得干8小时的活?
7 楼 gigix 2008-06-17  
seen 写道
gigix 写道
seen 写道
pair会不会太不自由了?

为什么你需要自由?


两种意义上的自由
1是编程的自由 在有一个能跑的结构之前 我不喜欢别人来打扰我的思路
2是个人自由 也许我写了一个头文件之后想去倒杯水 想看看今天的比赛直播 或者想打个电话 可如果有个同事就在身边等着我。。。

2是不需要的
1在绝大多数时候也是不需要的,真的需要的时候你可以暂时不pair嘛
6 楼 seen 2008-06-17  
gigix 写道
seen 写道
pair会不会太不自由了?

为什么你需要自由?


两种意义上的自由
1是编程的自由 在有一个能跑的结构之前 我不喜欢别人来打扰我的思路
2是个人自由 也许我写了一个头文件之后想去倒杯水 想看看今天的比赛直播 或者想打个电话 可如果有个同事就在身边等着我。。。
5 楼 gigix 2008-06-17  
seen 写道
pair会不会太不自由了?

为什么你需要自由?
4 楼 seen 2008-06-17  
pair会不会太不自由了?
3 楼 Godlikeme 2008-06-17  
pair是不错的实践。
2 楼 yamakasy 2008-06-17  
spyker 写道
我以前一个项目的code review,是在自己代码测试后,交由tl进行
每个人都会被review
也就是说code review是tl的一项工作


基本上是这样!check style 可以通过工具实现。
1 楼 andyhu1007 2008-06-16  
code review: 费时,费力,交流麻烦。推荐pair。

相关推荐

    CodeReview工具Jupiter

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

    CodeReview工具

    Code Review是软件开发过程中的一个重要环节,它有助于提高代码质量,发现潜在的错误,以及确保团队成员间的代码风格一致。本文将详细介绍两款Eclipse插件——Jupiter和Reviewclipse,它们是进行Code Review的有力...

    Source Insight CodeReview宏,增加使用说明

    **Source Insight CodeReview宏**是专门针对Source Insight这款强大的源代码查看和编辑工具设计的一套扩展功能,主要用于代码评审和统计。Source Insight以其强大的代码导航、语法高亮和实时分析能力,深受程序员...

    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.任务责任人修改完成后,直接修改问题状态,组织者按快捷键...

    IDEA代码检视插件Code Review Helper(支持团队协同)

    标题提到的"IDEA代码检视插件Code Review Helper"是针对IntelliJ IDEA集成开发环境的一款强大工具,旨在提升代码审查的效率和质量。代码审查是软件开发中的一个关键环节,通过它,团队成员可以互相检查彼此的代码,...

    code_review(程序员必看)

    code_review(程序员必看) 为完成一个软件项目需要多个成员的参与,因此存在编码风格和质量上的差异。尽管在一个项目开始之初,团队内部就对编码进行了格式化上的规范,但是在实际 过程中,还是搀杂了许多个人的因素...

    Redmine插件Code Review使用介绍

    在Redmine中,Code Review插件是一个重要的扩展,它致力于帮助开发团队进行代码审查,提升代码质量和团队协作效率。本文将详细介绍如何使用Redmine的Code Review插件。 首先,安装Code Review插件是必要的步骤。...

    zyh-code-review.rar

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

    代码审查CodeReview的最佳实践

    我一直认为CodeReview(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题。包括像Google、微软这些公司,CodeReview都是基本要求,代 我一直认为CodeReview(代码...

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

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

    code review

    代码审查(Code Review)是软件开发过程中的一个重要环节,它是一种质量保证活动,旨在通过同行对源代码的系统性检查来发现并修复错误,提高软件的可靠性和可维护性。这个过程通常在代码合并到主分支之前进行,有助...

    静态测试方法之代码审查(CodeReview)的清单

    静态测试方法之代码审查(CodeReview)的清单。代码审查可以帮助提高代码质量,避免由于代码习惯而造成的bug。下面列出的这些要点因该可以作为大部分代码审查的指导,如果是Java应用的话,这些建议应该被视作最佳实践...

    C++ Code Review检查清单

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

    漫谈codereview

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

    CodeReview常見代碼問題

    ### CodeReview中的常见代码问题分析 #### 一、引言 在软件开发过程中,CodeReview(代码审查)是一项至关重要的活动。它不仅有助于提高代码质量,还能促进团队成员之间的知识共享和技术交流。本文将深入探讨Code...

    CodeReview.em

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

    code review tool from google

    标题:Code Review Tool from Google 描述:Code review on the web 根据给定的文件信息,我们可以提炼出关于代码审查(Code Review)及其在谷歌开发流程中的应用的关键知识点。 ### 什么是代码审查? 代码审查...

    Steven Code Review 代码在线审查

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

Global site tag (gtag.js) - Google Analytics