您的位置:逆风者 软件工程 正文
原作者:www.upwinder.com 添加时间:2007-09-02 原文发表:2007-08-31 人气:39 来源:天极blog

本文章共3237字,分3页,当前第2页,快速翻页:
 


  2.1. CheckStyle是什么?

  CheckStyle是SourceForge下的一个项目,提供了一个帮助Java开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来[1]。
逆风者

  2.2. CheckStyle检验的主要内容

  CheckStyle默认提供一下主要检查内容:

  ·Javadoc注释

  ·命名约定

  ·标题

  ·Import语句

  ·体积大小

  ·空白

  ·修饰符

  ·块

  ·代码问题

  ·类设计

  ·混合检查(包活一些有用的比如非必须的System.out和printstackTrace)

  从上面可以看出,CheckStyle提供了大部分功能都是对于代码规范的检查,而没有提供象PMD和Jalopy那么多的增强代码质量和修改代码的功能。但是,对于团队开发,尤其是强调代码规范的公司来说,它的功能已经足够强大。

  2.3. CheckStyle的主要运行方式

  目前,CheckStyle的版本是3.0,与以前的版本不同,它的配置文件是基于XML而非Properties文件。

  它的3.0版本提供了两种运行的方式:

  ·命令行工具

  ·ANT任务

  同时,CheckStyle目前有很多针对流行IDE的插件,例如Eclipse、IntelliJ IDEA、JBuilder等。但是,大部分都是基于2.4的版本,新版本的特性不支持,同时配置也较为复杂。

  因为一般情况下,如果与开发过程与环境集成起来,编码规范的检查会更加有效,因此,作为ANT任务的运行方式使用的更加普遍。

  在ANT的build.XML文件中添加CheckStyle任务的步骤如下:

  1. 将checkstyle-all-3.1.jar拷贝到项目的LIB目录;

  2. 建立配置文件;

  3. 声明CheckStyle任务:

<taskdef resource="checkstyletask.properties" classpath="${lib}/checkstyle-all-3.1.jar"/>
  4. 建立CheckStyle任务:

<target name="checkstyle">
<checkstyle config="${config}/sun_checks.XML">
<fileset dir="${src}" includes=" **/*.Java" />
</checkstyle>
</target>
  2.4. 定制CheckStyle

  CheckStyle的执行基于XML配置文件,它的主要组成部分是:

  ·Module:整个配置文件就是一棵Module树。根节点是Checker Module。

  ·Properties:它来决定一个Module如何进行检查。每个Module都有一个默认值,如果不满足开发需求,可以设定其它的值。

  下面是一个示例:

<module name="MethodLength">
<property name="max" value="60"/>
</module>
  它表示,如果方法或者构造函数的长度超过60行,CheckStyle就会报错。而默认值是150行。

  以下是一段CheckStyle对于Maven项目源文件的检查报告:

Method 'createExpression' is not designed for extension - needs to be abstract, final or empty. 91
Unable to get class information for JellyException. 91
Line has trailing spaces. 93
Line has trailing spaces. 104
Method 'evaluate' is not designed for extension - needs to be abstract, final or empty. 113
Parameter context should be final. 113
Line has trailing spaces. 130
Method 'getExpressionText' is not designed for extension - needs to be abstract, final or empty. 131
Line has trailing spaces. 134
Line has trailing spaces. 135
Method 'toString' is not designed for extension - needs to be abstract, final or empty. 137
Method 'isSupportAntVariables' is not designed for extension - needs to be abstract, final or empty. 156
Method 'setSupportAntVariables' is not designed for extension - needs to be abstract, final or empty. 168
Parameter supportAntVariables should be final. 168
'supportAntVariables' hides a field. 168
 
本文章更多内容<<上一页 - 1 - 2 - 3 - 下一页>>
相关文章

软件开发质量管理层次模型
“寻找圣杯的任务”——度量软件之美
建模过程的盲点:软件集成中的软知识
统一建模语言UML轻松入门之用例
统一建模语言UML轻松入门之动态建模
项目经理:做好项目开始阶段的九条经验
追求代码质量: 不要被覆盖报告所迷惑
统一建模语言UML轻松入门之综合实例
32位程序移植到64位平台前的准备工作
统一建模语言UML轻松入门之基本概念

相关评论


本文章所属分类:首页 软件工程

  热门关键字: