没有合适的资源?快使用搜索试试~ 我知道了~
Checkstyle 使用手册
5星 · 超过95%的资源 需积分: 10 42 下载量 188 浏览量
2008-10-09
10:13:01
上传
评论 1
收藏 70KB DOC 举报
温馨提示
试读
12页
checkstyle主要是对你的源码的格式规范的约定,默认的是Sun的Java编码规范,次文就是对这方面的说明.
资源推荐
资源详情
资源评论
Checkstyle 使用手顺
一 CheckStyle 检验的主要内容:
(1)Javadoc 注释
(2)命名约定
(3)标题
(4)Import 语句
(5)体积大小
(6)空白
(7)修饰符
(8)块
(9)代码问题
(10)类设计
CheckStyle 的执行基于 XML 配置文件,它的主要组成部分是:
·Module:整个配置文件就是一棵 Module 树。根节点是 Checker Module。
·Properties:它来决定一个 Module 如何进行检查。每个 Module 都有一个默认值,如果不满
足开发需求,可以设定其它的值
二Sun’s Code Conventions 的修改
在 CheckStyle 的最新发布版本中,有一个对于 Sun 的 Java 编码规范的配置文件信息。但是,
其中有很多条目并不一定符合项目开发的需要。就算是对于很多优秀的开源项目,按照这个规范
来进行检查,也会出现成千上万的错误。
下面提出的一些修改意见,是从实际项目执行过程中总结出来的,可以作为大家的参考。
1. 去除对于每个包都有一个 package.html 文件的限制;
<!--<module name="PackageHtml"/>-->
2. 修改对于 JavaDoc Comments 的限定:对于很多使用 Code Generator 的项目来说,需要
将手写代码与生成代码、单元测试代码的检查分开进行;
3. 修改对于体积大小的限制:目前,很多显示器都是 17 寸,而且打印方面的限制也比以前有所
改善,同时,由于代码中 Factory 等模式的运用,以及有意义的方法名称等约定,默认每行
代码的长度(80)是远远不能满足要求;对于方法长度等等,也应该根据项目情况自行决定:
4. 修改对于 Throws 的的限制:允许 Throws Unchecked Exception 以及 Throws Subclass
Of Another Declared Exception。
<module name="RedundantThrows">
<property name="allowUnchecked" value="true"/>
<property name="allowSubclasses" value="true"/>
</module>
结论:
作为开发过程的日常实践,强制执行 CheckStyle:稳定 CheckStyle 的配置信息,同时将
CheckStyle 任务作为 Build 的依赖任务或者配置源码控制系统(目前, CheckStyle 可以与
CVS 有效集成),使得代码在加入系统之前必须通过检查。
利用 CheckStyle 可以方便的对于编码的 Code Conventions 进行检查,同时,也有效地减少了
Code Review 的工作,使得 Reviw 人员的精力更多的集中到逻辑和性能检查。
三
附录:
<!--CheckStyle 配置,这里你替换成你实际的环境-->
<property name="checkstyle.con;g"
value="${project.docs.dir}/checkstyle_checks.xml"/>
<property name="checkstyle.report.style" value="${project.docs.dir}/checkstyle-
frames.xsl"/>
<property name="checkstyle.result"
value="${build.checkstyleReport.dir}/checkstyle_result.xml"/>
<property name="checkstyle.report"
value="${build.checkstyleReport.dir}/checkstyle_report.html"/>
<!—CheckStyle 脚步-->
<taskdef resource="checkstyletask.properties" classpathref=" checkstyle-all-
3.4.jar"/>
<target name="checkstyle_check" depends="init">
<checkstyle con;g="${checkstyle.con;g}" failOnViolation="false"
failureProperty="checkstyle.failure">
<formatter type="xml" to;le="${checkstyle.result}"/>
<;leset dir="${project.src.dir}" includes="**/*.java"/>
</checkstyle>
<!—生成报告,其格式取决于${checkstyle.report.style}-->
<style in="${checkstyle.result}" out="${checkstyle.report}" style="$
{checkstyle.report.style}"/>
</target>
下面是我理解的Checkstyle 的使用:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Con;guration 1.2//EN"
"http://www.puppycrawl.com/dtds/con;guration_1_2.dtd">
<!-- 对于所有的模块来书,如果有这个模块则说明检测这一项,没有则不检测这一项-->
<!-- 所有的模块中,其 ROOT 必须为 Checker -->
<module name="Checker">
<!-- 检验每个包是否存在 package.html 文件-->
<!-- See http://checkstyle.sf.net/con;g_javadoc.html#PackageHtml -->
<!--
<module name="PackageHtml"/>
-->
<!-- 检验每个文件末尾是否有一个空行,在 UNIT 机器上是有的,在 CVS 上如果没有会有警告的--
>
<!-- See http://checkstyle.sf.net/con;g_misc.html#NewlineAtEndOfFile -->
<!--
<module name="NewlineAtEndOfFile"/>
-->
<!-- Checks that property ;les contain the same keys. -->
<!-- See http://checkstyle.sf.net/con;g_misc.html#Translation -->
<module name="Translation"/>
<module name="TreeWalker">
<!-- Checks for Javadoc comments. -->
<!-- See http://checkstyle.sf.net/con;g_javadoc.html -->
<!-- Checks Javadoc comments for method de;nitions.-->
<module name="JavadocMethod">
<property name="scope" value="public"/>
<!-- 是否允许错误的参数声明,true 为允许,缺省为不允许-->
<property name="allowMissingParamTags" value="true"/>
<!-- 是否允许错误的错误声明,true 为允许,缺省为不允许-->
<property name="allowMissingThrowsTags" value="true"/>
<!-- 是否允许错误的返回类型声明,true 为允许,缺省为不允许-->
剩余11页未读,继续阅读
资源评论
- xu534040102014-11-19亲测可用!
yzj2510
- 粉丝: 2
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功