好用的代码规范检查工具--checkstyle

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

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

如何在Eclipse上安装插件

在eclipse上安装插件,这里直接以安装checkstyle为例子,以后的插件安装根据这个流程来就可以了。

列举了几个网上的方法(大概有5种方法可以将插件安装到eclipse上)

第一种:直接复制法

假设Eclipse的安装目录在C:\eclipse,解压下载的eclipse 插件或者安装eclipse 插件到指定目录文件夹,打开安装文件夹,在安装文件夹里的根目录分别包含两个文件夹features和plugins ,然后把两个文件夹里的文件分别复制到C:\eclipse下所对应的文件夹下的features 和plugins 下,一般的把插件文件直接复制到eclipse目录里是最直接也是最愚蠢的一种方法!因为日后想要删除这些插件会非常的困难(你根本分不清哪个是哪个),不推荐使用。
 注意:直接将插件包解压到plugins文件夹下之后,重启eclipse,可能不会加载新的插件。
 解决方法是:
   1、打开命令行,到当前eclipse的目录下,输入eclipse -clean,重新启动eclipse,这样eclipse就会加上新的插件了。
   2、如果插件不能生效,则请将eclipse\configuration\org.eclipse.update目录(此目录会记录你插件等更新历史)删除后再启动eclipse;
  你可以在eclipse的菜单”Help”–>”About Eclipse SDK”–>”Feature Details” 和”Plug-in Details”中看到新安装的插件。

第二种:使用link文件法

a.假设Eclipse的安装目录在C:\eclipse,在该文件夹下,新建这样的目录结构C:\eclipse\PluginsEclipse\jode\eclipse;
  
b.解压下载的eclipse 插件或者安装eclipse 插件到指定目录BB(如:C:\BB)文件夹,打开BB文件夹,然后把 BB文件夹里的两个文件夹features和plugins复制到刚刚新建好 C:\eclipse\PluginsEclipse\jode\eclipse,这样eclipse中就有了两个插件目录features and plugins下。

c.在C:\eclipse目录中新建links(C:\eclipse\links)目录,在links目录中建立一个以link为扩展名的文本文件如jode.link,内容如下path=C:/eclipse/PluginsEclipse/jode 或者path=C:\eclipse\PluginsEclipse\jode(插件的目录),保存后重启eclipse插件就会安装完成。
 注意:link文件中path=插件目录的path路径分隔要用\或是/
/eclipse/
  links/
    jode.link
    webtools.link
    updateManager.link
/eclipse/ links/ jode.link webtools.link updateManager.link … … 可以在eclipse的菜单”Help”–>”AboutEclipse SDK”–>”Feature Details” 和”Plug-in Details”中看到新安装的插件。

第三种:使用eclipse自带图形界面安装

选择Help > Software Updates > Manager Configuration,再选择Add > Extension Location 找到你要安装插件的目录就可以了。使用eclipse的help->SoftwareUpdates ->Find and install… search for new features… 输入软件安装地址进行安装强烈推荐这种方法,优点很多比如可以方便的添加删除,也不用自己写link文件!(注意:这种安装你即使没有下载安装包也可以从远程下载,只要知道链接即可,不过国内下载很多插件由于网络原因很慢,或者不能下载下来。)
  备注:Eclipse插件的目录结构
/eclipse-plugins/
  eclipse/
    .eclipseextension
      features/
      plugins/
  第2.3种方法所指向的目录都指的是”eclipse”目录,如果用第3种方法,在eclipse这个目录下必须有文件.eclipseextension,如果下载的插件没有这个文件,

那就随便eclipse安装目录下的那个文件拷过去就行,只有有这么个文件就可以了,内容没什么用,主要是一些版本信息。例如:

id=org.eclipse.platform name=Eclipse Platform
version=3.1.1
id=org.eclipse.platform name=Eclipse Platform version=3.1.1

第四种:使用dropins安装插件

从Eclipse3.5开始,安装目录下就多了一个dropins目录。只要将插件解压后拖到该目录即可安装插件。比如安装svn插件subclipse-1.8.16.zip,只需要如下的三步即可:
  1、使用winrar等压缩软件将压缩包解压至某一文件夹,比如subclipse-1.8.16
  2、将此目录移动/复制至Eclipse安装目录下的dropins目录
  3、重启Eclipse。
  由于此种安装方式可以将不同的插件安装在不同的目录里,并且不用麻烦地写配置文件,因此管理起来会非常方便,推荐使用。

使用eclipse marketplace自动下载

这个是我用的方法,不能离线,需要从网上下载,eclipse market在线安装

在早期的eclipse版本中,market功能不是很好用,经常搜索不到插件或下来。忘记在哪个版本开始,使用market就很方便了。
建议采用这种方式来安装,直接搜索,选择要安装的插件内容。无需记录引用插件位置。

打开Help -> eclipse market,搜索checkstyle
选择想要的版本 -> install

勾选所想要应用的功能

接受协议,安装完成后,重启eclipse生效。(方便快捷,适用于有网络的环境下)

检查安装是否生效

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

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

cd F:\Program Files\eclipse\eclipse.exe -clean

资源整理

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

github开源插件地址:https://github.com/checkstyle/eclipse-cs

eclipse如何安装插件:http://blog.csdn.net/netdevgirl/article/details/54382301

Eclipse中安装和使用CheckStyle: http://blog.csdn.net/qq_36871364/article/details/72472059

Eclipse Marketplace地址:http://marketplace.eclipse.org/

Checkstyle全局配置

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

logo

logo

到此全局配置已经完成。

Checkstyle项目配置

项目 –> 右键Properties

logo

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

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

logo

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

logo

其它操作

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

logo

checkStyle 使用

选中工程,右键选择checkstyle->check code withcheckstyle,检查错误即可

Checkstyle的结果输出

序号 输出内容意义
1 Type is missing a javadoc commentClass 缺少类型说明
2 “{” should be on the previous line “{” 应该位于前一行
3 Methos is missing a javadoc comment方法前面缺少javadoc注释
4 Expected @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“}” 应该与下条语句位于同一行
10 Unused @param tag for “unused”没有参数“unused”,不需注释
11 Variable “CA” missing javadoc变量“CA”缺少javadoc注释
12 Line longer than 80characters行长度超过80
13 Line contains a tab character行含有”tab” 字符
14 Redundant “Public” modifier冗余的“public” modifier
15 Final modifier out of order with the JSL suggestionFinalmodifier的顺序错误
16 Avoid using the “.” form of importImport格式避免使用“.
17 Redundant import from the same package从同一个包中Import内容
18 Unusedimport-java.util.listImport进来的java.util.list没有被使用
19 Duplicate import to line 13重复Import同一个内容
20 Import from illegal package从非法包中 Import内容
21 “while” construct must use “{}”“while” 语句缺少“{}”
22 Variable “sTest1” must be private and have accessormethod变量“sTest1”应该是private的,并且有调用它的方法
23 Variable “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“)” 前面不能有空格

坚持原创技术分享,您的支持将鼓励我继续创作!
+