Eclipse中集成CheckStyle检查代码

一、在Eclipse中集成CheckStyle

安装方式有2种

第一种,离线安装

1、在官网下载最新版本checkstyle压缩包。

2、打开eclipse,点击help -> install new software

Eclipse中集成CheckStyle检查代码

3、点击add,如下图:其中name自己起,location添加本地压缩包位置。

Eclipse中集成CheckStyle检查代码

4、点击add按钮后,选中checkstyle。如下图:

Eclipse中集成CheckStyle检查代码

5、点击next按钮下一步,点击finish按钮安装

Eclipse中集成CheckStyle检查代码

6、若遇见下图,点击install anyway

 

Eclipse中集成CheckStyle检查代码

7、遇见下图,点击restart now

Eclipse中集成CheckStyle检查代码

8、重新打开后,点击windows->preference,查看到checkstyle选项表示安装成功,如下图

Eclipse中集成CheckStyle检查代码

 

第二种.在线安装

1、Help → Eclipse Marketplace,搜索“Checkstyle Plug-in”,点击install

Eclipse中集成CheckStyle检查代码

然后就正常跟随引导安装即可,安装之后,重新打开后,点击windows->preference,查看到checkstyle选项表示安装成功

 

安装好了之后,进行一下规则的配置

1、点击checkstyle,打开如下页面,点击new按钮

Eclipse中集成CheckStyle检查代码

2、type选中external configuration file后,location添加自定义规则的xml文件,比如我使用的就是checkstyleRules.xml这个作为检查规则,放在了D盘Program Files\eclipse_all\myFile下,Name 自己起,点击ok

Eclipse中集成CheckStyle检查代码

3、选中自己添加的规则,点击set as default

Eclipse中集成CheckStyle检查代码

 

然后设置一下eclipse中java的编码和系统,在Window->preferences里面,如下图

Eclipse中集成CheckStyle检查代码

 

都设置好了之后,点击项目,进行代码的检查,如下图

Eclipse中集成CheckStyle检查代码

 

然后如果有不符合规范的代码的话,它会提示错误

Eclipse中集成CheckStyle检查代码

Eclipse中集成CheckStyle检查代码

红框里的3个提示窗口都是,如果没有出来,可以在Window里面找,如图

Eclipse中集成CheckStyle检查代码

如果show view里面有就直接点,如果没有,就点Other...自己去搜,如图

Eclipse中集成CheckStyle检查代码

 

再说几个常见的错误提示

第一种,提示名称XXX  必须匹配表达式

Eclipse中集成CheckStyle检查代码

这个表达式具体代表什么可以去网上搜,这里之所以会有这样的提示,是因为我这里定义的常量名称是add_message(当然,被提示信息挡住了),这种名称是不行的,必须符合它指定的表达式,如下改了之后就不再提示错误,当然不一定非要改成这样,只要符合它的表达式就行了

Eclipse中集成CheckStyle检查代码

 

 

第二种 参数应定义为final,这种就是字面意思,就是value这个参数需要定义为final

Eclipse中集成CheckStyle检查代码

那解决办法当然就是加一个final就可以了,如图

Eclipse中集成CheckStyle检查代码

 

第三种 静态属性定义顺序错误

Eclipse中集成CheckStyle检查代码

这种,我也不知道具体的顺序是什么,我自己改的目前就几种,首先比如上图的错误,就是因为authService这个对象它放在了IDS这个常量的上面了,把authService放在下面就行了,目前我个人感觉顺序是

public  修饰的常量

protect 修饰的常量

default 修饰的常量

private 修饰的常量

public  修饰的类/对象

protect 修饰的类/对象

default 修饰的类/对象

private修饰的类/对象

当然了,这个可能是非常狭隘的,因为我目前项目里只按照这个改已经足够了,可能还有别的成员属性的顺序要参与其中,但是我的项目中目前没有,我就不写了

 

第四种  "xxxx"字符串出现了多少次

Eclipse中集成CheckStyle检查代码

这种的话就是说这个字符串用的太多了,一般有2个相同的字符串出现在一个类里面它就会提示了,解决办法,我能想到的有2个,一个就是在本类定义常量,然后使用常量,另一个方法是写一个枚举类,把需要经常使用的常量写进去,然后用枚举类去获取,这个可以自己去选择,像我的项目中,这个user_id我就是在本类定义了一个常量去处理的,我另一个类里面,有需要用很多次标点符号,比如"," ";" "_",在字符串分割使用split()方法时多次使用,那我就写了一个符号的枚举类,把经常使用的符号写进去,然后用枚举类去获取对应的标点.

 

第五种  缺少Javadoc

如图,我定义的String常量没有对应的注释,所以有这样的提示,那就加一个文档注释

Eclipse中集成CheckStyle检查代码

 

如下图,加完注释之后,倒是不缺少Javadocle,但是有提示首句应以句号结尾,那就以句号结尾嘛,加一个句号.

Eclipse中集成CheckStyle检查代码

 

如下图,加完句号之后,没任何问题了

Eclipse中集成CheckStyle检查代码

还有一部分是比如map或者list没有指定类型,就是代码中引用的时候没有指定泛型,这个也需要去找自己的这个map或者list到底接收的是什么泛型,然后添加上,除此之外还有代码不能重复过高,一样的代码尽量提取成方法,这些都可以去改改

再剩下的像什么方法代码行数过多,圈复杂度过高,方法分支复杂度过高,可执行语句过多,这些都要去更改代码,把代码改的更简洁,处理起来就比较复杂一点了