CheckStyle是什么?设计模式
CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵照某些编码规范的工具。它可以自动化代码规范检查过程,从而使得开发人员从这项重要,可是枯燥的任务中解脱出来[1]。工具
2.2. CheckStyle检验的主要内容优化
CheckStyle默认提供一下主要检查内容:ui
·Javadoc注释编码
·命名约定spa
·标题插件
·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 c>
<fileset dir="${src}" includes=" **
public void setOrganization(OrganizationDTO orgDto) throws Exception;
public OrganizationDTO getOrganization() throws Exception;
......
}
解释:多余的字段。public OrganizationDTO getOrganization() throws Exception;此时public为多余的字段,由于interface定义的时候,就是public的。
须要检查。
4. - Class X should be declared as final.
解释:对于单例设计模式,要求返回惟一的类对象。可是HRFactory和ContextFactory为优化的两个类,不需求检查。
其余的单例类,依然须要进行检查。
5. Utility classes should not have a public or default constructor.
解释:工具类没必要提供默认的构造方法。
须要检查,仅仅为提示。
6. File does not end with a newline.
解释:虽然JAVA程序不要求结尾要用新行,可是习惯上应该要空一行。
须要检查,仅仅为提示。
7. - Method 'addChildrenId' is not designed for extension - needs to be
abstract, final or empty.
解释:经过父类继承的,此类有点特殊
能够忽略此类。
8. Variable 'id' must be private and have accessor methods.
解释:BaseHRDTO类,为父类,属性给子类继承,比较特殊。
可是其余的类,声名须要加上范围'private'关键字
须要检查。
9. -Array brackets at illegal position. 解释:代码写法,习惯不同。 须要检查,仅仅提示。