checkstyle.xml 1.63 KB
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
    "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
    "https://checkstyle.org/dtds/configuration_1_3.dtd">
<!--
  项目 checkstyle 规则(Spring Boot + Lombok 友好,不使用 sun_checks.xml 的过严规则)
  规则原则:检查明显的代码问题,不干预 Lombok 注解生成类、不要求 final 参数、不限制行长。
-->
<module name="Checker">
  <property name="charset" value="UTF-8"/>
  <property name="severity" value="error"/>
  <property name="fileExtensions" value="java"/>

  <module name="TreeWalker">
    <!-- 未使用的 import -->
    <module name="UnusedImports"/>
    <!-- 重复 import -->
    <module name="RedundantImport"/>
    <!-- 通配符 import(java.util.* 等)-->
    <module name="AvoidStarImport"/>

    <!-- 左大括号位置 -->
    <module name="LeftCurly"/>
    <!-- 空代码块(空 catch 需有注释)-->
    <module name="EmptyBlock">
      <property name="option" value="text"/>
    </module>

    <!-- switch 缺少 default -->
    <module name="MissingSwitchDefault"/>

    <!-- == 比较 String 字面量 -->
    <module name="StringLiteralEquality"/>

    <!-- 多余的分号 -->
    <module name="EmptyStatement"/>

    <!-- 修饰符顺序 (public static final ...) -->
    <module name="ModifierOrder"/>

    <!-- 不允许 System.out.println(生产代码用 logger)-->
    <module name="Regexp">
      <property name="format" value="System\.(out|err)\.print"/>
      <property name="illegalPattern" value="true"/>
      <property name="message" value="请使用 logger 而非 System.out/err.print"/>
    </module>
  </module>
</module>