`
ihuashao
  • 浏览: 4791722 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

代码走查——项目走向成功的锦囊之一

阅读更多

说起代码走查,相信每个人都不陌生,但为什么要执行代码走查,什么时候来执行代码走查,如何有效执行代码走查,很多人的看法和见解都不一样。

一般的看法,认为代码走查是一种非正式的代码评审技术,它通常在编码完成之后由代码的作者向一组同事来讲解他自己编写的代码,由同事来给出意见。

这 种做法在很多做软件开发组织中经常采用。但从实际执行效果来看,成效并不都那么明显,反而很多组织的这种做法有浪费时间之嫌。主要是因为代码走查活动时间 有限,而参加代码走查的人之前没有较多的时间来提前了解被走查的代码,故而在实际执行时能被走查的代码所占的比例并不高,同时也发现不了多少本质问题。

随着软件外包业的发展,它有别于软件产品开发,客户对于产品的要求不再局限于系统是否能够正确运行。而是在设计、代码的品质上也有了更多的要求。有的客户甚至会在我们每次交付后先来检查我们的代码品质,只要是代码不符合要求就会被拒绝。

但在项目的实际执行中,面对客户的这些要求,我们又常常遇到诸如编写的代码不符合规范;编码效率低;代码的可重用性低;代码错误多等现象,从而影响到项目的时程和交付的品质,影响到客户对我们的满意度和对我们专业程度的质疑。

那么在项目的执行过程中,如何来解决面临的这些问题呢?结合在过程改进中的实践和软件外包项目的实际来看,我认为要解决这些问题的一个有效方法还是在于如何有效地执行代码走查活动。

首先我们要明确为什么要进行代码走查活动,我以为其目的主要有:

1)、通过代码走查活动,及时了解程序员编写的代码是否符合设计要求以及编码规范;

2)、通过代码走查活动,及时了解程序员在编码过程中遇到的问题,并给以协助,从而达到有效、透明地掌控项目进度的目的;

3)、通过代码走查活动,及时了解代码中可以重用的代码,并将其提取为公共方法或模块,提高代码的可重用性以弥补当前人员设计能力不足的现状。

要满足上面的三个目的,显然仅仅依靠工具是不能够满足要求的。那么如何执行代码走查活动才会有效呢?

首 先,在系统设计阶段,我们需要明确系统架构、编码规范等技术要求,来制定出代码走查活动需要的Checklist(对于编码规范,当可以利用工具来进行检 查时,准备的Checklist中就不需要将工具可以检查的要点再逐一列出来。)下图就是一个Checklist的示例。

第二步是确定代码走查时发现问题的记录方式。可以使用文档的方式来记录(这在很多项目中使用),也可以使用缺陷跟踪系统来记录。

当准备工作完成,且项目进入Coding阶段后,我们就可以正式开始执行代码走查活动了。为了改变以前那种事后检查的弊端,我们将代码走查活动前移到与程序员的Coding同步进行。这样做就是为了及时发现问题及时解决问题。实施的步骤如下:

1)、负责代码走查的人员从建构库中获取需要走查的代码;

2)、阅读代码,并根据前面准备好的Checklist对代码进行检查,看代码是否符合相关的技术要求,以及是否满足业务需求,发现的问题及时记录下来;

TIPS: 通常可以在阅读代码之前或者阅读完代码之后,利用工具来进行必要的Check。可以利用的工具有:Checkstyle, CodePro, FindBugs, Metrics, JDepend等等。

3)、阅读代码的过程中,如果发现有可供提取的可重用方法或模块,及时记录并通报给项目的架构负责人,由其负责可重用方法的编写;

4)、及时向程序员通报代码走查的结果,并由程序员对发现的问题进行修改。必要时对代码走查中发现的问题需及时向程序员进行讲解和指导;

5)、跟踪代码走查中发现的问题的解决进展,直到问题均关闭;

6)、每日重复以上的步骤,直到所有功能的编码全部结束为止。

通过以上代码走查活动的说明,可看出代码走查人员在项目中承担着比较重要的角色。因此安排合适的人来进行代码走查也显得格外重要,可以说直接关系着代码走查活动的最终成效。

通常我们可考虑安排功能的设计者来负责该功能的代码走查。这样有几个好处:

一是功能的设计者对于功能的业务需求比较清楚,这样在做代码走查时就容易了解程序员编写的代码是否能够满足设计的要求和业务需求。其实从另外一个角度来看也是对设计的一种检查;

二是通常功能的设计者都是较资深的人员,可以为程序员提供有效地指导和协助,从另外一个角度也是对程序员的On-Job Training。

在实施代码走查的过程中,我们还需要借助工具来提高我们的效率,但切忌过分依赖工具或者仅仅只靠工具。同时也需要转变为了代码走查而代码走查的倾向,因为那样就不能发挥代码走查的作用,并最终达到代码走查的目的。

从实践来看,代码走查时记录问题的方式也影响到代码走查的效率。这里向大家介绍一个在Eclipse中进行代码走查的插件——Jupiter。它提供了一种简单而便捷的方式来记录和跟踪代码走查时发现的问题。

Jupiter将走查结果以XML文件的形式存入SCM系统中,并且每条代码走查的意见直接关联对应代码,可以做方便的代码跳转。最新的安装包可以在Jupiter的网站上下载到:http://csdl.ics.hawaii.edu/tools/jupiter

下图是Eclipse中安装Jupiter后的界面。

在项目中使用Jupiter时,需要先进行配置。所有配置信息都保存在一个.jupiter文件中,并需将之提交到SCM系统。

配置完成后,可按照以下步骤来使用:

1)、 个人走查(Individual Phase) 代码走查者在本地对代码进行走查,然后建立相关的Review Issue。走查结果会自动保存在一个以.review为扩展名的XML文件中。该文件保存在Eclipse项目所在目录的某个子目录下,通常是项目根目 录下的Review子目录。走查完毕,走查者需将.review文件提交到SCM系统。

2)、团队走查(Team Phase) 个人更新本地工程以获得其他走查者的.review文件,然后选择“Team Phase”。这样,所有在个人走查阶段建立的Review Issue都将会在本地呈现。此阶段主要完成问题的分析与指派。最后,将修改后的全部.review文件重新提交到SCM系统。

3)、修改阶段(Rework Phase) 被查代码的所有者,根据走查者的意见对代码做出修改,然后修改Review Issue的状态。

由于使用Jupiter建立Review Issue是可以与代码关联的,并且是在Eclipse的集成环境下,相比较而言,我们记录Issue就会更加方便,而修改代码时也更容易将Issue与代码相对应。

按照以上介绍的方法来进行代码走查的项目,在代码品质上都有了普遍地提高。那么,你所在的项目呢?行动起来,相信代码走查这个锦囊能够为你的项目走向成功奠定一个很好的基础。

作者:王四虎 来源:spaces.live.com

分享到:
评论

相关推荐

    前端-代码走查模板.docx

    在前端项目管理中,代码走查是一个至关重要的环节,它有助于规范开发行为,统一团队内的编码风格,并且能够提前发现并修复潜在的问题,提高代码质量和软件稳定性。代码走查不仅是一种质量保证手段,而且能够促进团队...

    java项目代码走查模版

    Java项目代码走查是软件开发过程中的一个关键环节,它是一种质量保证活动,旨在通过团队成员审查彼此的代码来发现并修复潜在的问题。这个过程有助于提高代码质量、减少错误、增强团队间的协作,并且能够尽早识别出...

    代码走查规范文档

    代码走查规范文档

    项目代码走查单(示例).xls

    项目代码走查单作为日常IT项目管理 的有效工具,适合在项目研发上线前评估项目代码使用,以检测代码中可能存在的风险

    代码走查记录表 模板

    项目代码走查记录表 描述检查人员 检查时间,检查发现那些问题等等。

    java代码走查计划书.doc

    java代码走查计划书是软件开发中的一种质量保证活动,旨在检查代码质量、发现代码缺陷、提高代码可维护性和可读性。该计划书详细描述了代码走查的整个过程,包括走查计划、成员角色、走查过程、缺陷修改与关闭等。 ...

    代码走查记录表

    制定代码走查标准,记录代码走查路径,代码走查代码数,缺陷数,负责人,建议修改意见,检查人,检查时间,是否修改,修改意见,修改人,修改时间,审核是否通过,审核人,审核时间;并进行合计总检查代码数,缺陷...

    代码走查工具介绍

    本文将详细介绍一种代码走查工具——PCLint,这是一款源自源码分析工具,对于提高代码质量和确保软件稳定性具有重要作用。 PCLint全称为“Programming Checking Lint”,是由Gimpel Software公司开发的一款静态代码...

    系统测试中代码走查测试方法

    代码走查是一种白盒测试方法,主要用于检测代码的质量和可靠性。在系统测试中,代码走查测试方法可以帮助开发人员和测试人员发现代码中的缺陷和问题,提高代码的质量和可靠性。 代码走查测试方法的目的: 1. 检测...

    C语言代码走查模版实例

    C语言代码走查模版 C语言代码走查模版实例

    代码走查检查单.xls

    代码走查单,代码检查。

    SSM-ZTE-AndroidUI-CRR-0.1 代码走查报告1

    【SSM-ZTE-AndroidUI-CRR-0.1 代码走查报告1】是针对“中兴Android系统界面软件设计与开发”项目的代码质量检查报告。这份文档旨在确保项目的软件开发过程符合相关标准和规范,提高代码质量和系统的稳定性。 1.1 ...

    C#代码走查清单,有利于项目管理

    C#代码走查清单,有利于组长,经理项目管理

    嵌入式系统C代码走查检查单(编程必看).doc

    嵌入式系统C代码走查检查单是指在编写和维护嵌入式系统C代码时,需要遵守的一系列规范和检查项。这些规范和检查项旨在确保代码的可读性、可维护性和可靠性,避免常见的错误和 Bug。 一、变量声明 * 变量命名是否...

    代码走查检查表模板.xls

    代码检查

    代码走查工具.pptx

    标题:“代码走查工具.pptx” 描述:本文件详细介绍了多种代码走查工具,旨在指导用户如何利用这些工具提升编程效率与代码质量。重点涵盖了Stylecheker、Findbugs等工具在MyEclipse中的应用,包括插件安装及基本...

Global site tag (gtag.js) - Google Analytics