Eclipse:CheckStyle Configuration

下面为自己常用的一个CheckStyle配置,写一下以备后用。


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN" "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<!-- generated by Sonar -->
<module name="Checker">
  <module name="TreeWalker">
 
    <!-- 不允许对方法的参数赋值 -->
    <module name="ParameterAssignment">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 使用简化的布尔表达式 -->
    <module name="SimplifyBooleanExpression">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 常量命名方式 -->
    <module name="StaticVariableName">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 变量声明的顺序 -->
    <module name="ModifierOrder">
      <property name="severity" value="info"/>
    </module>
    
    <!-- 方法名的检查 -->
    <module name="MethodName">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- Checks that a class which has only private constructors is declared as final.-->
    <module name="FinalClass">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- Detects empty statements (standalone ;).(检查是否有空指令)-->  
    <module name="EmptyStatement">
      <property name="severity" value="info"/>
    </module>
    
    <!-- 检查是否有内部赋值,比如像 String s = Integer.toString(i = 2) -->
    <module name="InnerAssignment">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 双重检查锁的检查,java的内存机制导致DCL无法正常工作 -->
    <module name="DoubleCheckedLocking">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 检查是否有多余的import语句 -->
    <module name="UnusedImports">
      <property name="severity" value="info"/>
    </module>
    
    <!-- String的比较不能用 != 和 == -->
    <module name="StringLiteralEquality">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 多余关键字的检查 -->
    <module name="RedundantModifier">
      <property name="severity" value="info"/>
    </module>
    
     <!-- 多余throws语句检查 -->
    <module name="RedundantThrows">
      <property name="severity" value="info"/>
      <property name="allowUnchecked" value="true"/>
    </module>
    
    <!-- 非法throw语句检查 -->
    <module name="IllegalThrows">
      <property name="severity" value="warning"/>
    </module>
    
    
    <module name="AnonInnerLength">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 成员名的检查 -->
    <module name="MemberName">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 常量名的检查 -->
    <module name="ConstantName">
      <property name="severity" value="info"/>
    </module>
    
    <!-- 包名的检查 -->
    <module name="PackageName">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- switch 语句是否有 default 的检查 -->
    <module name="DefaultComesLast">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 当一个类重写equals()方法的收,是否同时重写hashCode()方法的检查 -->
    <module name="EqualsHashCode">
      <property name="severity" value="error"/>
    </module>
    
    <!-- 不许使用未被简化的布尔返回值 -->
    <module name="SimplifyBooleanReturn">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 是否有隐藏变量的检查 -->
    <module name="HiddenField">
      <property name="severity" value="warning"/>
      <property name="tokens" value="VARIABLE_DEF"/>
      <property name="ignoreConstructorParameter" value="true"/>
      <property name="ignoreSetter" value="true"/>
      <property name="ignoreAbstractMethods" value="true"/>
    </module>
    
    <!-- 本地final变量名的检查 -->
    <module name="LocalFinalVariableName">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 函数的分支复杂度的检查,默认不超过10 -->
    <module name="CyclomaticComplexity">
      <property name="severity" value="warning"/>
      <property name="max" value="10"/>
    </module>
    
    <!-- 成员可访问性检查 -->
    <module name="VisibilityModifier">
      <property name="severity" value="warning"/>
      <property name="protectedAllowed" value="true"/>
      <property name="packageAllowed" value="false"/>
    </module>
    
    <!-- 本地变量名的检查 -->
    <module name="LocalVariableName">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 参数变量名的检查 -->
    <module name="ParameterName">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 布尔表达式复杂度的检查,不超过3 -->
    <module name="BooleanExpressionComplexity">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 类的分散复杂度,不超过20 -->
    <module name="ClassFanOutComplexity">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- NPath复杂度,不超过200 -->
    <module name="NPathComplexity">
      <property name="severity" value="warning"/>
    </module>

    <!-- 类数据的抽象耦合,不超过7 -->
    <module name="ClassDataAbstractionCoupling">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 方法行数的检查 -->
    <module name="MethodLength">
      <property name="severity" value="warning"/>
      <property name="max" value="50"/>
      <property name="countEmpty" value="false"/>
    </module>
    
    <!-- if语句嵌套层数的检查 -->
    <module name="NestedIfDepth">
      <property name="severity" value="warning"/>
      <property name="max" value="2"/>
    </module>
    
    <!-- try语句嵌套层数的检查 -->
    <module name="NestedTryDepth">
      <property name="severity" value="warning"/>
      <property name="max" value="1"/>
    </module>
    
    <!-- 方法参数个数的检查 -->
    <module name="ParameterNumber">
      <property name="severity" value="warning"/>
      <property name="max" value="5"/>
    </module>
    
    <!-- 声明顺序的检查 -->
    <module name="DeclarationOrder">
      <property name="severity" value="info"/>
    </module>
    
    <!-- 多余括号的检查 -->
    <module name="AvoidNestedBlocks">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 在做String equals判断的时候,要将已知null放在后面 -->
    <module name="EqualsAvoidNull">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- Checks for illegal instantiations where a factory method is preferred.  -->
    <module name="IllegalInstantiation">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 循环控制变量不建议被修改 -->
    <module name="ModifiedControlVariable">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- <module name="FileContentsHolder"/> -->
    
    <!-- clone方法必须调用了super.clone() -->
    <module name="SuperClone">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- finalize 必须调用了super.finalize() -->
    <module name="SuperFinalize">
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 不能catch java.lang.Exception -->
    <module name="IllegalCatch">
      <property name="illegalClassNames" value="java.lang.Exception"/>
      <property name="severity" value="warning"/>
    </module>
    
    <!-- 一个方法中最多有3个return -->
    <module name="ReturnCount">
      <property name="max" value="3"/>
      <property name="severity" value="warning"/>
    </module>
    
  </module>
 
  <!-- 文件长度的检查 -->
  <module name="FileLength">
    <property name="severity" value="warning"/>
    <property name="max" value="1500"/>
  </module>
  <!-- <module name="SuppressionCommentFilter"/> -->
</module>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值