1. 认识Checkstyle

CheckStyle是SourceForge下的一个项目,提供了一个帮助Java开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要但枯燥的任务中解脱出来。它可以根据设置好的编码规则来检查代码。比如符合规范的变量命名,方法体的最大行数,重复代码检查等等。

如果你的项目经理开会时说:“我希望我们写出来的代码就象一个人写的!”,那么用Checkstyle绝对是正确选择!

2. 资源说明

Checkstyle:http://sourceforge.net/projects/eclipse-cs/

 

本篇是在eclipse4.2上面安装最新版的checkstyle插件为例。Eclipse的位置在D:\Program Files\eclipse,checkstyle下载后在D:\Sdk\checkstyle\net.sf.eclipsecs-updatesite_5.7.0.201402131929-bin.zip,其中使用的checkstyle规则文件在D:\Sdk\checkstyle\style_template.xml

资源下载地址:

http://download.csdn.net/detail/ccboy2009/7521353

3. Checkstyle插件安装

下面讲解checkstyle在eclipse上的两种安装方式。

Ø 离线安装

① 下载checkstyle离线安装包;

http://sourceforge.net/projects/eclipse-cs/

 

 

② 下载完成后将压缩包中features文件夹和plugins文件夹的复制到eclipse中的根目录中进行覆盖;

③ 打开eclipse,Window–>Preferences,如果列表中出现了checkstyle的菜单,则表示安装成功了。

 

注意:如果启动eclipse时,提示ClassNotFoundException等异常信息,则启动时加上一个“-clean”参数启动即可。

Ø 在线安装

注意在安装过程中保持网络畅通,如果网络不稳定可能会导致安装失败。

Help –> Install New Software

CheckStyle插件地址:http://eclipse-cs.sourceforge.net/update

Next–>next–>选择 I accept… Finish。Checkstyle插件就开始安装。

在安装过程中,可能会出现警告提示,选择ok即可。

安装完成后,根据提示重启eclipse,checkstyle即安装完成。

4.Checkstyle全局配置

Window –>Preferences,选择checkstyle菜单,增加项目组统一的规则文件,并设置为默认规则。如下图:

到此全局配置已经完成。

5. Checkstyle项目配置

项目 –> 右键Properties

到此项目配置已经完成。成功的话,checkstyle已经开始工作了。

 

此次发现项目上有很多红叉叉,说明是代码符合规范造成的。

根据提示信息修改后,则没有有红色的提示。

 

6. 其它操作

在项目右键菜单中,checkstyle还有一些快捷操作,如下图所示:

 

 

7.checkStyle 使用
 
选中工程,右键选择checkstyle->check code withcheckstyle,检查错误即可
 
Checkstyle的结果输出
 
序号     输出内容意义
1 Type is missing a javadoc commentClass 缺少类型说明
2“{” should be on the previous line “{” 应该位于前一行
3Methos is missing a javadoc comment方法前面缺少javadoc注释
4Expected @throws tag for “Exception”在注释中希望有@throws的说明
5“.” Is preceeded with whitespace “.” 前面不能有空格
6“.” Is followed by whitespace“.” 后面不能有空格
7“=” is not preceeded with whitespace“=” 前面缺少空格
8“=” is not followed with whitespace“=” 后面缺少空格
9“}” should be on the same line“}” 应该与下条语句位于同一行
10Unused @param tag for “unused”没有参数“unused”,不需注释
11Variable “CA” missing javadoc变量“CA”缺少javadoc注释
12Line longer than 80characters行长度超过80
13Line contains a tab character行含有”tab” 字符
14Redundant “Public” modifier冗余的“public” modifier
15Final modifier out of order with the JSL suggestionFinalmodifier的顺序错误
16Avoid using the “.*” form of importImport格式避免使用“.*”
17Redundant import from the same package从同一个包中Import内容
18Unusedimport-java.util.listImport进来的java.util.list没有被使用
19Duplicate import to line 13重复Import同一个内容
20Import from illegal package从非法包中 Import内容
21“while” construct must use “{}”“while” 语句缺少“{}”
22Variable “sTest1” must be private and have accessormethod变量“sTest1”应该是private的,并且有调用它的方法
23Variable “ABC” must match pattern“^[a-z][a-zA-Z0-9]*$”变量“ABC”不符合命名规则“^[a-z][a-zA-Z0-9]*$”
24“(” is followed by whitespace“(” 后面不能有空格 25“)” is proceededby whitespace“)” 前面不能有空格

 

版权声明:本文为qin-up原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/qin-up/p/9319989.html