checkstyle是什么?
是代码规范检查,关于各种格式的利弊这里就不说了,但是业内有一些总结的规范利于goole或者阿里有自己的代码规范,就需要用到checkstyle。我个人很讨厌这东西,奈何项目再用,那就研究一下吧。
checkstyle的使用
我们项目是用maven引得包,如下
<dependency>
<groupId>app.myoss.cloud.codestyle</groupId>
<artifactId>code-format-eclipse</artifactId>
<version>2.0.2.RELEASE</version>
<scope>test</scope>
</dependency>
这是一个哥们独立开发的一个jar包。检查的非常详细,详细到什么地图呢,举个例子,http请求只允许使用自己封装的一套。。。 感受一下
<module name="RegexpSinglelineJava">
<property name="format" value="java\.util\.Calendar"/>
<property name="message" value="请使用 Java 8 新的日期 API,比如:java.time.LocalDateTime/java.time.LocalDate !"/>
<property name="ignoreComments" value="true"/>
</module>
<module name="RegexpSinglelineJava">
<property name="format" value="org\.apache\.commons\.lang\.\S+"/>
<property name="message" value="禁止使用 org.apache.commons.lang 旧依赖,请使用 org.apache.commons.lang3 新依赖 !"/>
<property name="ignoreComments" value="true"/>
</module>
<module name="RegexpSinglelineJava">
<property name="format" value="org\.apache\.commons\.logging\.\S+"/>
<property name="message" value="禁止使用 org.apache.commons.logging 输出日志,请使用 org.slf4j.Logger 输出日志 !"/>
<property name="ignoreComments" value="true"/>
</module>
<module name="RegexpSinglelineJava">
<property name="format" value="lombok\.extern\.apachecommons\.CommonsLog"/>
<property name="message" value="禁止使用 lombok.extern.apachecommons.CommonsLog 输出日志,请使用 org.slf4j.Logger 输出日志 !"/>
<property name="ignoreComments" value="true"/>
</module>