简介
插件的用途就不多说了,主要用于JAVA代码规范检测,默认用的sun的一套检查标准,也可以自己定义。这里讲的版本是5.6
在eclipse中安装checkstyle
help--> eclipse marketplace 搜索 checkstyle,安装即可。
用checkstyle检测
选择要检测的项目,右键点击checkstyle--->check code with checkstyle即可
会生成两项报告,点击windows-->show view ,找到checkstyle即可
生成的结果如下:
还有一个饼状图
修改checkstyle参数
点击eclpse-->windows-->preferences
可以看到,目前使用的是sun checks,点击configure,会发现,The configuration can not be edited.
也就是自带的两个内置规则是不能编辑的,于是我们copy出一份自己的规则,点击copy,起个名字,确认即可。
再次打开,就可编辑了。
例如我们之前检测结果中,问题最大的一项是line is longer than X characters,这里默认值是80个字符,有点太短了,我
把它改成100,找到Size Violations,离得 max line length,打开,默认是80,改成100即可。
去掉对某个文件的统计
实际操作中,由于项目中包含一个.ttc的字库,导致统计结果中几乎被这个文件占掉了一半,可以右键点击这个文件,-->checkstyle-->clear checkstyle violation,
统计列表随机跟着改变。
各种检查提示的解释
utility classes should not have a public or default constructor
还会有提示:All methods are static. Consider using Singleton instead.Alternatively,you could add a private constructor or make the class abstract to silence this warning.
工具类不应该有默认或者公共的构造函数,也就是说这个类里可能方法都是static,那就不需要构造它的实例,因此应该给加一个private的构造函数,就不会报这个错了。
a class which only has private constructors should be final
例如上一个,加了private构造函数,又会出这个,把class设置成final即可。
Array brackets at illegal positon
String array[] = {}; 改成
String[] array = {};即可,应该是指位置不标准。
conditional logic can be removed
例如:
if ("post".equalsIgnoreCase(method)) {
return true;
} else {
return false;
}
会报错,conditional logic can be removed,条件逻辑可以删掉,改成如下方式:
return "post".equalsIgnoreCase(method);
即可,比较简洁
X is not followed by whitespace
符号的左右要有空格
X modifier out of order with the JLS suggestions
是修饰符顺序不符合标准。例如:
public final static String SAFE_EVENT_AUDIT_RECORD = "安全事件类";
改成:
public static final String SAFE_EVENT_AUDIT_RECORD = "安全事件类";
即可
Name ''X'' must match pattern ''X''.
要求变量必须符合正则表达式定义的规则,
例如变量: must match pattern '^[a-z][a-zA-Z0-9]*$'
变量必须小写字母开头,可以包含大写字母和数字,但是不能包含下划线
这里如果需要改名,可以使用ECLIPSE的重新命名功能进行批量修改,快捷键是ALT + SHIFT + R
常量:^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$
常量大写字母开头,包含_和数字。