之前写Scala项目一直用scalacheckstyle来规范团队代码风格,避免不同人写出的代码风格不一致,也降低了代码出问题的风险。
最近在折腾Java项目,也打算采用类似的做法,代码如果写的不符合团队规范,编译都不允许通过。
我们可以用checkstyle的maven插件搞定此事。
在项目中引入Checkstyle
maven插件用法:https://maven.apache.org/plugins/maven-checkstyle-plugin/usage.html
在项目的跟目录创建checkstyle.xml
,该文件描述了代码检查的规则。
可以参考:https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/sun_checks.xml
这也是checkstyle插件内置的检查规则,可以基于此进行修改。
临时屏蔽某些不符合规范的代码
修改checkstyle.xml
在<module name="TreeWalker">
节点内,添加一项<module name="SuppressionCommentFilter"/>
。
然后在不合规范的代码附件,加入以下注释:
// CHECKSTYLE:OFF
System.out.println("xxx");
// CHECKSTYLE:ON
如果要将整个文件屏蔽检查,只需在文件头添加// CHECKSTYLE:OFF
强制注释后必须跟随一个空格
我本人写代码有些洁癖,注释也是如此,我习惯在注释后添加一个空格,当然这也是业界规范,但是checkstyle并没有内置这样的检查。
倒是scalacheckstyle内置了注释空格检查的规则,用起来很方便。
研究了下Java的checkstyle规则,发现可以通过正则来实现:
<module name="Regexp">
<property name="format" value="//[^ ]+"/>
<property name="illegalPattern" value="true"/>
<property name="message" value="注释//后面必须添加一个空格"/>
</module>
谷歌了一顿也没发现有效的方案,最后还是自己解决了,(ˉ▽ ̄~) 切~~
Be the first person to leave a comment!