用户工具

站点工具


代码规范:checkstyle配置文件

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

代码规范:checkstyle配置文件 [2016/10/16 14:47] (当前版本)
neohope 创建
行 1: 行 1:
 +====== CheckStyle配置文件 ======
  
 +===== 运行方式 =====
 +<sxh shell>
 +#单模块
 +mvn checkstyle:​chckstyle
 +#多模块
 +mvn checkstyle:​chckstyle-aggregate
 +</​sxh>​
 +
 +===== 配置文件 =====
 +
 +<sxh xml>
 +
 +<?xml version="​1.0"?>​
 +<​!DOCTYPE module PUBLIC
 +    "​-//​Puppy Crawl//DTD Check Configuration 1.3//​EN"​
 +    "​http://​www.puppycrawl.com/​dtds/​configuration_1_3.dtd">​
 +
 +<!--
 +    Checkstyle configuration for DJ HealthUnion
 +    Based on Google Java Style
 +    By neohope
 + ​-->​
 +
 +<module name = "​Checker">​
 +    <​!--处理的文件编码-->​
 +    <​property name="​charset"​ value="​UTF-8"/>​
 +
 +    <​!--输出的错误级别-->​
 +    <​property name="​severity"​ value="​warning"/>​
 +
 +    <​!--处理的文件类型-->​
 +    <​property name="​fileExtensions"​ value="​java,​ properties, xml"/>​
 +
 +    <!-- 文件长度,默认最大2000行 -->
 +    <module name="​FileLength"/>​
 +
 +    <​!--判断语句中是否有Tab字符-->​
 +    <​!--module name="​FileTabCharacter">​
 +        <​property name="​eachLine"​ value="​true"/>​
 +    </​module-->​
 +
 +    <module name="​TreeWalker">​
 +
 +        <​!--代码字符集检查-->​
 +        <module name="​IllegalTokenText">​
 +            <​property name="​tokens"​ value="​STRING_LITERAL,​ CHAR_LITERAL"/>​
 +            <​property name="​format"​ value="​\\u00(08|09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>​
 +            <​property name="​message"​ value="​Avoid using corresponding octal or Unicode escape."/>​
 +        </​module>​
 +        <module name="​AvoidEscapedUnicodeCharacters">​
 +            <​property name="​allowEscapesForControlCharacters"​ value="​true"/>​
 +            <​property name="​allowByTailComment"​ value="​true"/>​
 +            <​property name="​allowNonPrintableEscapes"​ value="​true"/>​
 +        </​module>​
 +    ​
 +        ​
 +        <​!--Import检查-->​
 +        <module name="​AvoidStarImport"/>​
 +        <​!--module name="​IllegalImport"/​-->​
 +            <module name="​RedundantImport"/>​
 +            <module name="​UnusedImports"/>​
 +            <​!--自定义的Import包的顺序-->​
 +            <​!--module name="​CustomImportOrder">​
 +            <​property name="​specialImportsRegExp"​ value="​com.google"/>​
 +            <​property name="​sortImportsInGroupAlphabetically"​ value="​true"/>​
 +            <​property name="​customImportOrderRules"​ value="​STATIC###​SPECIAL_IMPORTS###​THIRD_PARTY_PACKAGE###​STANDARD_JAVA_PACKAGE"/>​
 +        </​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="​OuterTypeFilename"/>​
 +        <​!--这个规则用于处理类名称-->​
 +        <module name="​TypeName">​
 +            <message key="​name.invalidPattern"​ value="​Type name ''​{0}''​ must match pattern ''​{1}''​."/>​
 +        </​module>​
 +        <​!--module name="​FinalClass"/​-->​
 +        <​!--这个规则用于处理方法名称-->​
 +        <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="​StaticVariableName"/>​
 +        <​!--这个规则用于处理成员变量名称-->​
 +        <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="​MethodTypeParameterName">​
 +            <​property name="​format"​ value="​(^[A-Z][0-9]?​)$|([A-Z][a-zA-Z0-9]*[T]$)"/>​
 +            <message key="​name.invalidPattern"​ value="​Method type name ''​{0}''​ must match pattern ''​{1}''​."/>​
 +        </​module>​
 +        <module name="​OverloadMethodsDeclarationOrder"/>​
 +        <​!--module name="​FinalParameters"/​-->​
 +        <module name="​ModifierOrder"/>​
 +        <​!--这个规则禁用Public成员变量-->​
 +        <​!--module name="​VisibilityModifier"/​-->​
 +        <​!--这个规则用于处理本地变量名称-->​
 +        <module name="​LocalVariableName">​
 +            <​property name="​tokens"​ value="​VARIABLE_DEF"/>​
 +            <​property name="​format"​ value="​^[a-z][a-z0-9][a-zA-Z0-9]*$"/>​
 +            <​property name="​allowOneCharVarInForLoop"​ value="​true"/>​
 +            <message key="​name.invalidPattern"​ value="​Local variable name ''​{0}''​ must match pattern ''​{1}''​."/>​
 +        </​module>​
 +        <​!--Array风格-->​
 +        <module name="​ArrayTypeStyle"/>​
 +        <​!--这个规则用于处理类参数名称-->​
 +        <module name="​ClassTypeParameterName">​
 +            <​property name="​format"​ value="​(^[A-Z][0-9]?​)$|([A-Z][a-zA-Z0-9]*[T]$)"/>​
 +            <message key="​name.invalidPattern"​ value="​Class type name ''​{0}''​ must match pattern ''​{1}''​."/>​
 +        </​module>​
 +        <​!--这个规则用于处理常量方法参数名称-->​
 +        <​!--module name="​ConstantName"/​-->​
 +        <​!--不允许Finalizer-->​
 +        <module name="​NoFinalizer"/>​
 +        <​!--鼓励先定义接口,再实现接口-->​
 +        <​!--module name="​DesignForExtension"/​-->​
 +        <​!--代码缩写-->​
 +        <​!--module name="​AbbreviationAsWordInName">​
 +            <​property name="​ignoreFinal"​ value="​false"/>​
 +            <​property name="​allowedAbbreviationLength"​ value="​1"/>​
 +        </​module-->​
 +    ​
 +    ​
 +        <​!--注解-->​
 +        <module name="​AnnotationLocation">​
 +            <​property name="​tokens"​ value="​CLASS_DEF,​ INTERFACE_DEF,​ ENUM_DEF, METHOD_DEF, CTOR_DEF"/>​
 +        </​module>​
 +        <module name="​AnnotationLocation">​
 +            <​property name="​tokens"​ value="​VARIABLE_DEF"/>​
 +            <​property name="​allowSamelineMultipleAnnotations"​ value="​true"/>​
 +        </​module>​
 +    ​
 +    ​
 +        <​!--Clause检查-->​
 +        <​!--MagicNumber检查-->​
 +        <module name="​MagicNumber"/>​
 +        <​!--变量定义与使用不要隔太远-->​
 +        <module name="​VariableDeclarationUsageDistance"/>​
 +        <​!--每行只能声明一个变量-->​
 +        <module name="​OneStatementPerLine"/>​
 +        <module name="​MultipleVariableDeclarations"/>​
 +        <​!--switch必须有default-->​
 +        <module name="​MissingSwitchDefault"/>​
 +        <​!--单行条件语句-->​
 +        <module name="​AvoidInlineConditionals"/>​
 +        <​!--@语句校验-->​
 +        <module name="​NonEmptyAtclauseDescription"/>​
 +        <module name="​AtclauseOrder">​
 +            <​property name="​tagOrder"​ value="​@param,​ @return, @throws, @deprecated"/>​
 +            <​property name="​target"​ value="​CLASS_DEF,​ INTERFACE_DEF,​ ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>​
 +        </​module>​
 +        <module name="​OneTopLevelClass"/>​
 +        <module name="​FallThrough"/>​
 +        <module name="​UpperEll"/>​
 +    ​
 +    ​
 +        <​!--注释-->​
 +        <module name="​CommentsIndentation"/>​
 +        <!--To Do-->
 +        <​!--module name="​TodoComment"/​-->​
 +    ​
 +    ​
 +        <​!--代码长度-->​
 +        <​!--一行代码最大长度-->​
 +        <​!--module name="​LineLength">​
 +            <​property name="​max"​ value="​120"/>​
 +            <​property name="​ignorePattern"​ value="​^package.*|^import.*|a href|href|http://​|https://​|ftp://"/>​
 +        </​module-->​
 +        <​!--方法长度,按行-->​
 +        <module name="​MethodLength"/>​
 +        <​!--方法的参数数量-->​
 +        <module name="​ParameterNumber"/>​
 +
 +
 +        <​!--下面几个规则是检查大括号{},比如If要有大括号 -->
 +        <module name="​NeedBraces"/>​
 +        <module name="​LeftCurly">​
 +           <​property name="​maxLineLength"​ value="​100"/>​
 +        </​module>​
 +        <module name="​RightCurly"/>​
 +        <module name="​RightCurly">​
 +           <​property name="​option"​ value="​alone"/>​
 +           <​property name="​tokens"​ value="​CLASS_DEF,​ METHOD_DEF, CTOR_DEF, LITERAL_FOR,​ LITERAL_WHILE,​ LITERAL_DO, STATIC_INIT,​ INSTANCE_INIT"/>​
 +       </​module> ​   ​
 +
 +    ​
 +        <​!--代码缩进、Pad及Wrap-->​
 +        <​!--module name="​Indentation">​
 +            <​property name="​basicOffset"​ value="​2"/>​
 +            <​property name="​braceAdjustment"​ value="​0"/>​
 +            <​property name="​caseIndent"​ value="​2"/>​
 +            <​property name="​throwsIndent"​ value="​4"/>​
 +            <​property name="​lineWrappingIndentation"​ value="​4"/>​
 +            <​property name="​arrayInitIndent"​ value="​2"/>​
 +        </​module-->​
 +        <​!--module name="​ParenPad"/​-->​
 +        <module name="​MethodParamPad"/>​
 +        <module name="​NoLineWrap"/>​
 +        <module name="​OperatorWrap">​
 +            <​property name="​option"​ value="​NL"/>​
 +            <​property name="​tokens"​ value="​BAND,​ BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF,​ LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR "/>
 +        </​module>​
 +        <module name="​SeparatorWrap">​
 +            <​property name="​tokens"​ value="​DOT"/>​
 +            <​property name="​option"​ value="​nl"/>​
 +        </​module>​
 +        <module name="​SeparatorWrap">​
 +            <​property name="​tokens"​ value="​COMMA"/>​
 +            <​property name="​option"​ value="​EOL"/>​
 +        </​module>​
 +
 +
 +        <​!--这些规则用于处理语句中的空白字符,比如操作符两边是否有空格-->​
 +        <​!--这个规则用于处理语句中的空白字符-->​
 +        <​!--module name="​GenericWhitespace">​
 +            <message key="​ws.followed"​
 +             ​value="​GenericWhitespace ''​{0}''​ is followed by whitespace."/>​
 +             <​message key="​ws.preceded"​
 +             ​value="​GenericWhitespace ''​{0}''​ is preceded with whitespace."/>​
 +             <​message key="​ws.illegalFollow"​
 +             ​value="​GenericWhitespace ''​{0}''​ should followed by whitespace."/>​
 +             <​message key="​ws.notPreceded"​
 +             ​value="​GenericWhitespace ''​{0}''​ is not preceded with whitespace."/>​
 +        </​module-->​
 +        <​!--module name="​WhitespaceAround">​
 +            <​property name="​allowEmptyConstructors"​ value="​true"/>​
 +            <​property name="​allowEmptyMethods"​ value="​true"/>​
 +            <​property name="​allowEmptyTypes"​ value="​true"/>​
 +            <​property name="​allowEmptyLoops"​ value="​true"/>​
 +            <message key="​ws.notFollowed"​
 +             ​value="​WhitespaceAround:​ ''​{0}''​ is not followed by whitespace. Empty blocks may only be represented as '​{}'​ when not part of a multi-block statement (4.1.3)"/>​
 +             <​message key="​ws.notPreceded"​
 +             ​value="​WhitespaceAround:​ ''​{0}''​ is not preceded with whitespace."/>​
 +        </​module-->​
 +        <​!--module name="​WhitespaceAfter"/​-->​
 +        <​!--module name="​NoWhitespaceAfter"/​-->​
 +        <​!--module name="​NoWhitespaceBefore"/​-->​
 +        <​!--行末尾不能有空白字符-->​
 +        <​!--module name="​RegexpSingleline">​
 +            <​property name="​format"​ value="​\s+$"/>​
 +            <​property name="​minimum"​ value="​0"/>​
 +            <​property name="​maximum"​ value="​0"/>​
 +            <​property name="​message"​ value="​Line has trailing spaces."/>​
 +        </​module-->​
 +
 +
 +        <​!--空白块校验-->​
 +        <module name="​EmptyCatchBlock">​
 +            <​property name="​exceptionVariableName"​ value="​expected"/>​
 +        </​module>​
 +        <module name="​EmptyLineSeparator">​
 +            <​property name="​allowNoEmptyLineBetweenFields"​ value="​true"/>​
 +        </​module>​
 +        <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="​EmptyStatement"/>​
 +
 +
 +        <!--Java Doc-->
 +        <module name="​JavadocParagraph"/>​
 +        <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="​JavadocStyle"/​-->​
 +        <module name="​SingleLineJavadoc">​
 +            <​property name="​ignoreInlineTags"​ value="​false"/>​
 +        </​module>​
 +        <module name="​JavadocTagContinuationIndentation"/>​
 +        <module name="​SummaryJavadocCheck">​
 +            <​property name="​forbiddenSummaryFragments"​ value="​^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>​
 +        </​module>​
 +        ​
 +    </​module>​
 +</​module>​
 +
 +</​sxh>​
代码规范/checkstyle配置文件.txt · 最后更改: 2016/10/16 14:47 由 neohope