Checkstyle编写的XML文件示例

来源:互联网 发布:练马甲线软件 编辑:程序博客网 时间:2024/06/05 18:12

<?xml version="1.0"?>


<!DOCTYPE module PUBLIC
          "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
          "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">


<module name="Checker">
    
    <property name="severity" value="error"/>


    <property name="fileExtensions" value="java, properties, xml"/>

 
    <!--control package-info.java-->
    <!--module name="JavadocPackage"/-->


    <module name="NewlineAtEndOfFile"/>
    <module name="FileLength">
        <property name="max" value="1500"/>
    </module>
    <module name="TreeWalker">


        <module name="JavadocMethod">
            <property name="scope" value="public"/>
            <property name="allowMissingParamTags" value="true"/>
            <property name="allowMissingThrowsTags" value="true"/>
            <property name="allowMissingReturnTag" value="true"/>
            <property name="minLineCount" value="2"/>

            <property name="allowedAnnotations" value="Override, Test"/>
            <property name="allowThrowsTagsForSubclasses" value="true"/>
        </module>
        <module name="JavadocType"/>
        <module name="JavadocVariable"/>

        <module name="ConstantName"/>
        <module name="LocalFinalVariableName"/>
        <module name="LocalVariableName">
            <property name="tokens" value="VARIABLE_DEF"/>
            <property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
            <message key="name.invalidPattern"
             value="Local variable name ''{0}'' must match pattern ''{1}''."/>

        </module>

        <module name="MemberName">
            <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
            <message key="name.invalidPattern"
             value="Member name ''{0}'' must match pattern ''{1}''."/>
        </module>
        <module name="MethodName">
            <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
            <message key="name.invalidPattern"
             value="Method name ''{0}'' must match pattern ''{1}''."/>
        </module>
        <module name="PackageName">
            <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>

            <message key="name.invalidPattern"
             value="Package name ''{0}'' must match pattern ''{1}''."/>
        </module>
        <module name="ParameterName">
            <property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
            <message key="name.invalidPattern"
             value="Parameter name ''{0}'' must match pattern ''{1}''."/>
        </module>
        <module name="StaticVariableName"/>

        <module name="TypeName">
            <message key="name.invalidPattern"
             value="Type name ''{0}'' must match pattern ''{1}''."/>
        </module>
        <module name="RedundantImport"/>
        <module name="UnusedImports">
            <property name="processJavadoc" value="false"/>

        </module>


        <module name="LineLength">
            <property name="max" value="150"/>
            <property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
        </module>
        <module name="MethodLength">

            <property name="max" value="150"/>
        </module>
        <module name="ParameterNumber">
            <property name="max" value="7"/>
        </module>
        <module name="EmptyForIteratorPad"/>
        <module name="MethodParamPad"/>
        <module name="RedundantModifier"/>


        <module name="EmptyBlock">
            <property name="option" value="TEXT"/>

            <property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>

        </module>
        <module name="LeftCurly"/>
        <module name="NeedBraces"/>
        <module name="FallThrough"/>
        <module name="RightCurly"/>
        <module name="AvoidInlineConditionals"/>
        <module name="EmptyStatement"/>
        <module name="EqualsHashCode"/>
        <module name="MagicNumber"/>
        <module name="MissingSwitchDefault"/>
        <module name="SimplifyBooleanExpression"/>
        <module name="SimplifyBooleanReturn"/>
        <module name="FinalClass"/>
        <module name="HideUtilityClassConstructor"/>
        <module name="InterfaceIsType"/>
        <module name="VisibilityModifier"/>
        <module name="ArrayTypeStyle"/>

        <module name="FinalParameters"/>

        <module name="UpperEll"/>


        <module name="UncommentedMain"/>


        <module name="NestedTryDepth">
            <property name="max" value="3"/>
        </module>
        <!--try to use this method,but not useful-->
        <module name="NestedIfDepth">
            <property name="max" value="3"/>
        </module>
        <module name="ReturnCount">
            <property name="max" value="3"/>
        </module>
        <module name="MissingCtor"/>


        <module name="DefaultComesLast"/>


        <module name="FinalLocalVariable"/>


        <module name="StringLiteralEquality"/>


        <module name="ModifiedControlVariable"/>


        <module name="AnonInnerLength">
            <property name="max" value="500"/>
        </module>
        <module name="SuperClone"/>


        <module name="SuperFinalize"/>


        <module name="EmptyForInitializerPad"/>


        <module name="NPathComplexity">
            

<property name="max" value="200"/>
        </module>
        <module name="NPathComplexity">
            

<property name="max" value="200"/>
        </module>
        <module name="CyclomaticComplexity">
            

<property name="max" value="11"/>
        </module>
        <module name="ClassFanOutComplexity">
            

<property name="max" value="10"/>
        </module>
        <module name="BooleanExpressionComplexity">
            

<property name="max" value="10"/>
        </module>
        <module name="ClassDataAbstractionCoupling">
            <property name="max" value="20"/>
        </module>
    </module>


</module>

0 0