checkstyle.xml文件的部分模块解释

关于check-style.xml文件中一些模块的解释。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">

<!--
    This configuration file was written by the eclipse-cs plugin configuration editor
-->
<!--
    Checkstyle-Configuration: JPacman Coding Standards
    Description: none
-->
<module name="Checker">
  <property name="severity" value="error"/>
	<!--每个java文件当中都有一颗语法树-->
	<module name="TreeWalker">
    <module name="SuppressWarningsHolder" />
    <property name="tabWidth" value="4"/>
	<!--检查所有的方法-->
    <module name="JavadocMethod">
      <property name="scope" value="package"/>
      <property name="suppressLoadErrors" value="true"/>
    </module>
	<!--javadoc:检查所有的接口和类-->
    <module name="JavadocType"/>
	<!--检测某个变量-->
    <module name="JavadocVariable">
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
	
    <module name="JavadocStyle"/>
	<!--常量名的检查-->
    <module name="ConstantName"/>
	<!-- 局部的final变量,包括catch中的参数的检查 -->
    <module name="LocalFinalVariableName"/>
	<!-- 局部的非final型的变量,包括catch中的参数的检查 -->
    <module name="LocalVariableName"/>
	<!--变量的检查-->
    <module name="MemberName"/>
	<!--方法名的检查-->
    <module name="MethodName">
      <property name="format" value="^[a-z][a-zA-Z0-9_]*$"/>
    </module>
	<!--包名的检查-->
    <module name="PackageName"/>
	<!--方法的参数名的检查-->
    <module name="ParameterName"/>
	<!-- 仅仅是static型的变量(不包括static final型)的检查 -->
    <module name="StaticVariableName"/>
	<!-- Class或Interface名检查,默认^[A-Z][a-zA-Z0-9]*$-->
    <module name="TypeName"/>
	<!-- 避免使用* -->
    <module name="AvoidStarImport"/>
	<!-- 检查是否从非法的包中导入了类 -->
    <module name="IllegalImport"/>
	<!-- 检查是否导入了多余的包 -->
    <module name="RedundantImport"/>
	<!-- 没用的import检查,比如:1.没有被用到2.重复的3.import java.lang的4.import 与该类在同一个package的 -->
    <module name="UnusedImports"/>
	<!--每行不超过100个字-->
    <module name="LineLength">
      <property name="max" value="100"/>
    </module>
	<!--每行不超过30行-->
    <module name="MethodLength">
      <property name="max" value="30"/>
    </module>
	<!--方法的参数个数-->
    <module name="ParameterNumber"/>
	<!-- Iterator -->
    <module name="EmptyForIteratorPad"/>
	<!-- 方法名后跟左圆括号"(" -->
    <module name="MethodParamPad"/>
	<!-- 检查在某个特定关键字之后应保留空格 -->
    <module name="NoWhitespaceAfter">
      <property name="tokens" value="BNOT,DEC,DOT,INC,LNOT,UNARY_MINUS,UNARY_PLUS"/>
    </module>
	<!-- 检查在某个特定关键字之前应保留空格 -->
    <module name="NoWhitespaceBefore"/>
	<!-- 操作符换行策略检查 -->
    <module name="OperatorWrap"/>
	<!-- 圆括号空白 -->
    <module name="ParenPad"/>
	<!-- 在类型转换时,不允许左圆括号右边有空格,也不允许与右圆括号左边有空格 -->
    <module name="TypecastParenPad"/>
	<!-- 检查分隔符是否在空白之后 -->
    <module name="WhitespaceAfter"/>
	<!-- 检查分隔符周围是否有空白 -->
    <module name="WhitespaceAround"/>
	<!-- 检查修饰符的顺序是否遵照java语言规范,默认public、protected、private、abstract、static、final、transient、volatile、synchronized、native、strictfp -->
    <module name="ModifierOrder"/>
	<!--多余的关键字-->
    <module name="RedundantModifier"/>
	<!--多余的括号-->
    <module name="AvoidNestedBlocks"/>
	<!--对区域的检查,不能出现空白-->
    <module name="EmptyBlock"/>
    <module name="LeftCurly"/>
	<!--所有区域都要使用大括号-->
    <module name="NeedBraces"/>
	<!-- 检查右大括号位置 -->
    <module name="RightCurly">
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
	<!-- 检查是否在同一行初始化 -->
    <module name="AvoidInlineConditionals"/>
	<!--不允许出现空语句-->
    <module name="EmptyStatement"/>
	<!--每个类都实现了equals()和hashcode()-->
    <module name="EqualsHashCode"/>
	<!-- 检查局部变量或参数是否隐藏了类中的变量 -->
    <module name="HiddenField">
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
	<!-- 检查是否使用工厂方法实例化 -->
    <module name="IllegalInstantiation"/>
	<!--不允许内部复制-->
    <module name="InnerAssignment"/>
	<!--不能容忍魔法数-->
    <module name="MagicNumber"/>
	<!-- 检查switch语句是否有default -->
    <module name="MissingSwitchDefault"/>
	<!-- 不许使用未被简化的条件表达式 -->
    <module name="SimplifyBooleanExpression"/>
	<!-- 不许使用未被简化的布尔返回值 -->
    <module name="SimplifyBooleanReturn"/>
	<!-- 检查类是否为扩展设计l -->
    <module name="DesignForExtension">
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
	<!-- 检查只有private构造函数的类是否声明为final -->
    <module name="FinalClass"/>
	<!-- 检查工具类是否有putblic的构造器 -->
    <module name="HideUtilityClassConstructor"/>
	<!-- 检查接口是否仅定义类型 -->
    <module name="InterfaceIsType"/>
	<!-- 检查类成员的可见度 -->
    <module name="VisibilityModifier"/>
	<!--声明数组的风格的检查-->
    <module name="ArrayTypeStyle"/>
	<!-- 检查方法名、构造函数、catch块的参数是否是final的 -->
    <module name="FinalParameters">
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
	<!--缩进的检查-->
    <module name="Indentation">
      <property name="basicOffset" value="4" />
      <property name="braceAdjustment" value="0" />
      <property name="caseIndent" value="4" />
      <property name="throwsIndent" value="8" />
      <property name="arrayInitIndent" value="4" />
      <property name="lineWrappingIndentation" value="4" />
    </module>
	<!-- 检查TODO:注释 -->
    <module name="TodoComment">
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
	<!--确保常量中的L都是大写的-->
    <module name="UpperEll"/>
    <module name="FallThrough"/>
	<!-- 方法不超过30行 -->
    <module name="MethodLength">
      <property name="max" value="30"/>
    </module>
  </module>
  <!-- 检查文件中是否含有'\t' -->
  <module name="FileTabCharacter">
    <property name="eachLine" value="true"/>
  </module>
  <!--检查使用LINUX风格的换行符:-->
  <module name="NewlineAtEndOfFile">
    <property name="severity" value="ignore"/>
    <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
  </module>
  <!-- 检查翻译文件 -->
  <module name="Translation"/>
  <!-- 长度方面的检查 -->
  <module name="FileLength"/>
  <module name="FileTabCharacter">
    <property name="severity" value="ignore"/>
    <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
  </module>
  <!--正则表达式单行匹配-->
  <module name="RegexpSingleline">
    <property name="severity" value="ignore"/>
    <property name="format" value="\s+$"/>
    <property name="message" value="Line has trailing spaces."/>
    <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
  </module>
  <module name="SuppressWarningsFilter" />
</module>

上一篇:在RHEL5.8下使用RHCS实现Web HA


下一篇:实验四 代码评审