我最新使用的checkstyle文件

<!DOCTYPE module PUBLIC
    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<module name="Checker">
	<!--有关所有属性最新版本的使用方法可见网址http://checkstyle.sourceforge.net/availablechecks.html-->

	<!--重复代码的检查,超过8行就认为重复,UTF-8格式 本检查一定要放在"TreeWalker"节点前,否则在
        Checkclipse中会无法使用。(在ant下可以)
    -->
	<module name="StrictDuplicateCode">
		<property name="min" value="8" />
	</module>

	<module name="TreeWalker">
		<!-- javadoc的检查 -->
		<!-- 检查所有的interface和class -->
		<module name="JavadocType" />

		<!-- 命名方面的检查,它们都使用了Sun官方定的规则。 -->
		<!-- 局部的final变量,包括catch中的参数的检查 -->
		<module name="LocalFinalVariableName" />
		<!-- 局部的非final型的变量,包括catch中的参数的检查 -->
		<module name="LocalVariableName" />
		<!-- 包名的检查(只允许小写字母) -->
		<module name="PackageName">
			<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$" />
		</module>
		<!-- 仅仅是static型的变量(不包括static final型)的检查 -->
		<module name="StaticVariableName" />
		<!-- 类型(Class或Interface)名的检查 -->
		<module name="TypeName" />
		<!-- 非static型变量的检查 -->
		<module name="MemberName" />
		<!-- 方法名的检查 -->
		<module name="MethodName" />
		<!-- 方法的参数名 -->
		<module name="ParameterName " />
		<!-- 常量名的检查 -->
		<module name="ConstantName" />

		<!-- import方面的检查 -->
		<!-- import中避免星号"*" -->
		<module name="AvoidStarImport" />
		<!--没用的import检查,比如:1.没有被用到2.重复的3.import java.lang的4.import与该类在同一个package的
        -->
		<module name="UnusedImports" />

		<!-- 长度方面的检查 -->
		<!-- 每行不超过120个字-->
		<module name="LineLength">
			<property name="max" value="120" />
		</module>
		<!-- 方法不超过30行 -->
		<module name="MethodLength">
			<property name="tokens" value="METHOD_DEF" />
			<property name="max" value="30" />
		</module>
		<!-- 方法的参数个数不超过3个。 并且不对构造方法进行检查-->
		<module name="ParameterNumber">
			<property name="max" value="3" />
			<property name="tokens" value="METHOD_DEF" />
		</module>

		<!-- 空格检查  -->
		<!-- 允许方法名后紧跟左边圆括号"(" -->
		<module name="MethodParamPad" />
		<!-- 在类型转换时,不允许左圆括号右边有空格,也不允许与右圆括号左边有空格 -->
		<module name="TypecastParenPad" />


		<!-- 关键字 -->
		<!--每个关键字都有正确的出现顺序。比如 public static final XXX 是对一个常量的声明。如果使用 static
            public final 就是错误的
        -->
		<module name="ModifierOrder" />
		<!-- 多余的关键字 -->
		<module name="RedundantModifier" />

		<!-- 对区域的检查 -->
		<!-- 不能出现空白区域 -->
		<module name="EmptyBlock" />
		<!-- 所有区域都要使用大括号。 -->
		<module name="NeedBraces" />
		<!-- 多余的括号 -->
		<module name="AvoidNestedBlocks">
			<property name="allowInSwitchCase" value="true" />
		</module>

		<!-- 编码方面的检查 -->
		<!-- 不许出现空语句 -->
		<module name="EmptyStatement" />
		<!-- 每个类都实现了equals()和hashCode() -->
		<module name="EqualsHashCode" />
		<!-- 不许使用switch,"a++"这样可读性很差的代码 -->
		<module name="IllegalToken" />
		<!-- 不许内部赋值 -->
		<module name="InnerAssignment" />
		<!-- 绝对不能容忍魔法数 -->
		<module name="MagicNumber">
			<property name="tokens" value="NUM_DOUBLE, NUM_INT" />
		</module>
		<!-- 循环控制变量不能被修改 -->
		<module name="ModifiedControlVariable" />
		<!-- 多余的throw -->
		<module name="RedundantThrows" />
		<!-- 不许使用未被简化的条件表达式 -->
		<module name="SimplifyBooleanExpression" />
		<!-- 不许使用未被简化的布尔返回值 -->
		<module name="SimplifyBooleanReturn" />
		<!-- String的比较不能用!= 和 == -->
		<module name="StringLiteralEquality" />
		<!-- if最多嵌套3层 -->
		<module name="NestedIfDepth">
			<property name="max" value="3" />
		</module>
		<!-- try最多被嵌套2层 -->
		<module name="NestedTryDepth">
			<property name="max" value="2" />
		</module>
		<!-- clone方法必须调用了super.clone() -->
		<module name="SuperClone" />
		<!-- finalize 必须调用了super.finalize() -->
		<module name="SuperFinalize" />
		<!-- 不能catch java.lang.Exception -->
		<module name="IllegalCatch">
			<property name="illegalClassNames" value="java.lang.Exception" />
		</module>
		<!-- 确保一个类有package声明 -->
		<module name="PackageDeclaration" />
		<!-- 一个方法中最多有3个return -->
		<module name="ReturnCount">
			<property name="max" value="3" />
			<property name="format" value="^$" />
		</module>
		<!--
			根据 Sun 编码规范, class 或 interface 中的顺序如下: 1.class 声明。首先是 public, 然后是protected , 然后是 package level (不包括access modifier ) 最后是private .
			(多个class放在一个java文件中的情况) 2.变量声明。 首先是 public, 然后是protected然后是 package level (不包括access modifier ) 最后是private . (多个class放在一个java文件中的情况) 3.构造函数 4.方法
		-->
		<module name="DeclarationOrder" />
		<!-- 不许对方法的参数赋值 -->
		<module name="ParameterAssignment" />
		<!-- 确保某个class 在被使用时都已经被初始化成默认值(对象是null,数字和字符是0,boolean 变量是false.) -->
		<module name="ExplicitInitialization" />
		<!-- 不许有同样内容的String -->
		<module name="MultipleStringLiterals" />
		<!-- 同一行不能有多个声明 -->
		<module name="MultipleVariableDeclarations" />
		<!-- 不必要的圆括号 -->
		<module name="UnnecessaryParentheses" />

		<!-- 各种量度 -->
		<!-- 布尔表达式的复杂度,不超过3 -->
		<module name="BooleanExpressionComplexity" />
		<!-- 类数据的抽象耦合,不超过7 -->
		<module name="ClassDataAbstractionCoupling" />
		<!-- 类的分散复杂度,不超过20 -->
		<module name="ClassFanOutComplexity" />
		<!-- 函数的分支复杂度,不超过10 -->
		<module name="CyclomaticComplexity" />
		<!-- NPath复杂度,不超过200 -->
		<module name="NPathComplexity" />

		<!-- 杂项 -->
		<!-- 不许使用main方法 -->
		<module name="UncommentedMain" />
		<!-- 检查并确保所有的常量中的L都是大写的。因为小写的字母l跟数字1太象了 -->
		<module name="UpperEll" />
		<!-- 检查数组类型的定义是String[] args,而不是String args[] -->
		<module name="ArrayTypeStyle" />
		<!--检查java代码的缩进 默认配置:基本缩进 4个空格,新行的大括号:0。新行的case 4个空格。
        -->
		<module name="Indentation" />
		<!-- 禁止使用System.out.println -->
		<module name="RegexpSinglelineJava">
			<property name="format" value="System\.out\.println" />
			<property name="ignoreComments" value="true" />
		</module>
	</module>

	<!-- 检查翻译文件     -->
	<module name="Translation" />
	<!-- 文件长度不超过1500行 -->
	<module name="FileLength">
		<property name="max" value="1500" />
	</module>
	<!-- 不允许使用"tab"键  -->
	<module name="FileTabCharacter" />
</module>
 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Checkstyle配置文件是一个XML文件,用于定义Java代码规范和约束。它的作用是通过静态代码分析检查代码是否符合指定的规则,并提供编码规范建议以确保代码的质量和一致性。 配置文件的基本结构包含一个根节点"checkstyle",其中包含各种检查规则。每个检查规则又包含一个或多个检查项,用于指定需要检查的代码元素和相关规则。 配置文件可以根据项目的需求进行自定义,包括添加或删除检查规则、修改检查项的参数和配置等。其中,常见的检查规则包括代码格式规范、命名约定、注释规范、代码复杂度、错误处理等。 通过配置文件,可以指定检查规则的严格级别,例如"error"表示必须遵守的规则、"warning"表示建议遵守的规则、"ignore"表示忽略该规则。可以根据项目的需求和团队的约定来灵活配置,以达到代码风格一致、代码质量可控的目标。 使用Checkstyle配置文件,可以在编译期间或集成到构建工具中自动执行代码检查,及时发现代码中的潜在问题和不当实践,并提供详细的检查报告和警告信息。这能够帮助开发人员改善代码质量、提高代码可读性和可维护性,减少潜在的bug和错误。 总而言之,Checkstyle配置文件是一个定义代码规范和约束的XML文件,通过指定检查规则和参数,可以对代码进行静态分析,帮助团队维护一致的代码风格和良好的代码质量。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值