public/配置参考/checkstyle-v1.0.xml

146 lines
5.3 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">
<!-- checker检查器,checkstyle固定配置写法,不能缺失 -->
<module name="Checker">
<!--排除指定文件-->
<module name="BeforeExecutionExclusionFileFilter">
<property name="fileNamePattern" value="(AICUser.java|ResultCode.java)"/>
</module>
<!-- 设置checkstyle以UTF8格式进行文件检查 -->
<property name="charset" value="UTF-8"/>
<!--定义严重程度,可选等级:ignore info warning error,如不定义默认为error -->
<property name="severity" value="error"/>
<!-- 检查文件的长度最多2000行-->
<module name="FileLength">
<property name="max" value="2000"/>
</module>
<!--检查**.properties配置文件 是否有相同的key值 -->
<module name="Translation">
<property name="severity" value="error"/>
</module>
<!-- 检查每行字符数 -->
<module name="LineLength">
<property name="max" value="200"/>
</module>
<!-- 语法树编辑器,会根据其中定义规则,检查每个.java文件 -->
<module name="TreeWalker">
<!-- 检查多余的导入,如一个类导入了多次-->
<module name="RedundantImport"/>
<!-- 检查是否导入的包没有使用,如导入的包在类中没有被使用-->
<module name="UnusedImports"/>
<!-- 检查局部常量命名规范,有默认规则"^[a-z][a-zA-Z0-9]*$",可自定义" -->
<module name="LocalFinalVariableName"/>
<!-- 检查局部变量命名规范,有默认规则"^[a-z][a-zA-Z0-9]*$,可自定义,如for(int i=0;i<5;i++)里面的i -->
<module name="LocalVariableName"/>
<!-- 检查非final的静态变量,有默认规则"^[a-z][a-zA-Z0-9]*$",可自定义-->
<module name="StaticVariableName">
<property name="format" value="(^[A-Z0-9_]{0,19}$)"/>
</module>
<!-- 检查包名称命名规范,有默认规则"^[a-z]+(\.[a-z][a-z0-9]*)*$",详细解释为第一位必须为小写字母,后面位数可出现"."和小写字母/大写字母/数字 -->
<module name="PackageName">
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
</module>
<!-- 类名命名规则 -->
<module name="TypeName">
<property name="format" value="(^[A-Z][a-zA-Z0-9]{0,30}$)"/>
</module>
<!-- 方法名命名规则 -->
<module name="MethodName">
<property name="format" value="(^[a-z][a-zA-Z0-9]{0,30}$)"/>
</module>
<!-- 实例变量/成员变量命名规则 -->
<module name="MemberName">
<property name="format" value="(^[a-z][a-zA-Z0-9]{0,30}$)"/>
</module>
<!-- 方法中的参数名命名规则 -->
<module name="ParameterName">
<property name="format" value="(^[a-z][a-zA-Z0-9_]{0,19}$)"/>
</module>
<!-- 静态常量命名规则 -->
<module name="ConstantName">
<property name="format" value="(^[A-Z][A-Z0-9_]{0,50}$)"/>
</module>
<!-- 检测代码缩进规则,默认值为4字节 -->
<module name="Indentation">
</module>
<!-- 检查是否存在过度复杂的boolean返回值,例: if(b) {return true;} else {return false;}-->
<module name="SimplifyBooleanReturn"/>
<!-- 确保Utils类只包含静态方法或属性(字段)的类中没有public构造器。-->
<module name="HideUtilityClassConstructor"/>
<!-- 检查class成员属性可见性只有static final 修饰的成员是可以public的其他的成员属性必需是private的 -->
<module name="VisibilityModifier"/>
<!-- 检查每个变量声明是不是在其自己的语句中及自己的行上 -->
<module name="MultipleVariableDeclarations">
</module>
<!-- 检查再定义数组时采用java风格还是c风格例如int[] num是java风格int num[]是c风格。默认是java风格-->
<module name="ArrayTypeStyle">
</module>
<!-- 检查是否是"MagicNumber",指的是未定义的数字文本,但默认情况-1/0/1/2不视为"MagicNumber" -->
<!-- <module name="MagicNumber">-->
<!-- </module>-->
<!-- 检查是否在long类型是否定义了大写的L.字母小写l和数字1很相似 -->
<module name="UpperEll"/>
<!-- 检查switch语句是否有 default从句 -->
<module name="MissingSwitchDefault"/>
<!--检查switch中case后是否加入了跳出语句例如return、break、throw、continue -->
<module name="FallThrough"/>
<!-- 检查方法或构造函数中的参数数量-->
<module name="ParameterNumber">
<property name="max" value="7"/>
</module>
<!-- 检查方法长度忽略空行和注释最大上限为300 -->
<module name="MethodLength">
<property name="max" value="300"/>
<property name="countEmpty" value="false"/>
</module>
<!-- 检查是否有多余的修饰符例如接口中的方法不必使用public、abstract修饰 -->
<module name="RedundantModifier">
</module>
<!--- 字符串比较必须使用 equals() -->
<module name="StringLiteralEquality">
</module>
<!-- if-else嵌套语句个数最多为10层 -->
<module name="NestedIfDepth">
<property name="max" value="10"/>
</module>
<!-- try-catch 嵌套语句个数 最多3层 -->
<module name="NestedTryDepth">
<property name="max" value="3"/>
</module>
</module>
</module>