forked from linlinjava/litemall
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
api add codestyle check plugin (linlinjava#219)
- Loading branch information
1 parent
4fec87a
commit 40a5515
Showing
8 changed files
with
330 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,272 @@ | ||
<?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 http://checkstyle.sourceforge.net/config.html--> | ||
<module name="Checker"> | ||
<!-- 文件编码 --> | ||
<property name="charset" value="UTF-8"/> | ||
<!-- 违反的严重级别 --> | ||
<!--<property name="severity" value="warning"/>--> | ||
<property name="severity" value="error"/> | ||
<!-- 处理的文件扩展名 --> | ||
<!-- <property name="fileExtensions" value="java, properties, xml"/> --> | ||
<!-- Checks for whitespace --> | ||
<!-- See http://checkstyle.sf.net/config_whitespace.html --> | ||
<!--检查源文件是否包含制表符tab--> | ||
<module name="FileTabCharacter"> | ||
<property name="eachLine" value="true"/> | ||
</module> | ||
|
||
<module name="TreeWalker"> | ||
<!--检查类名和文件名是否匹配--> | ||
<module name="OuterTypeFilename"/> | ||
<!--<module name="IllegalTokenText">--> | ||
<!--<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>--> | ||
<!--<property name="format" value="\\u00(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="Consider using special escape sequence instead of octal value or Unicode escaped value."/>--> | ||
<!--</module>--> | ||
<!--限制使用Unicode转义--> | ||
<module name="AvoidEscapedUnicodeCharacters"> | ||
<property name="allowEscapesForControlCharacters" value="true"/> | ||
<property name="allowByTailComment" value="true"/> | ||
<property name="allowNonPrintableEscapes" value="true"/> | ||
</module> | ||
<!--每行字符数--> | ||
<module name="LineLength"> | ||
<property name="max" value="120"/> | ||
<property name="ignorePattern" | ||
value="^package.*|^import.*|a href|href|http://|https://|ftp://"/> | ||
</module> | ||
<!-- 必须导入类的完整路径,即不能使用*导入所需的类 --> | ||
<!--<module name="AvoidStarImport"/>--> | ||
<!-- 检查是否导入了不必显示导入的类--> | ||
<module name="RedundantImport"/> | ||
<!-- 检查是否导入的包没有使用--> | ||
<module name="UnusedImports"/> | ||
<!--检查顶级类/接口/枚举是否在自己的源文件--> | ||
<module name="OneTopLevelClass"/> | ||
<!--检查所选语句是否换行,默认检查package/import语句--> | ||
<module name="NoLineWrap"/> | ||
<!--检查空块--> | ||
<module name="EmptyBlock"> | ||
<property name="option" value="TEXT"/> | ||
<property name="tokens" | ||
value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/> | ||
</module> | ||
<!-- NeedBraces 检查是否应该使用括号的地方没有加括号 | ||
tokens: 定义检查的类型 --> | ||
<module name="NeedBraces"/> | ||
|
||
<!--option: 定义左大括号'{'显示位置,eol在同一行显示,nl在下一行显示 | ||
maxLineLength: 大括号'{'所在行行最多容纳的字符数 | ||
tokens: 该属性适用的类型,例:CLASS_DEF,INTERFACE_DEF,METHOD_DEF,CTOR_DEF --> | ||
<module name="LeftCurly"> | ||
<property name="maxLineLength" value="120"/> | ||
</module> | ||
|
||
<!-- Checks the placement of right curly braces ('}') for else, try, and catch tokens. The policy to verify is specified using property option. | ||
option: 右大括号是否单独一行显示 | ||
tokens: 定义检查的类型 --> | ||
<module name="RightCurly"> | ||
<property name="id" value="RightCurlySame"/> | ||
<property name="tokens" | ||
value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_DO"/> | ||
</module> | ||
<module name="RightCurly"> | ||
<property name="id" value="RightCurlyAlone"/> | ||
<property name="option" value="alone"/> | ||
<property name="tokens" | ||
value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT, INSTANCE_INIT"/> | ||
</module> | ||
|
||
<!-- 检查在重写了equals方法后是否重写了hashCode方法 --> | ||
<module name="EqualsHashCode"/> | ||
<!--空白环绕--> | ||
<module name="WhitespaceAround"> | ||
<property name="allowEmptyConstructors" value="true"/> | ||
<property name="allowEmptyMethods" value="true"/> | ||
<property name="allowEmptyTypes" value="true"/> | ||
<property name="allowEmptyLoops" value="true"/> | ||
</module> | ||
<!--检查每行只有一个语句--> | ||
<module name="OneStatementPerLine"/> | ||
<!-- 每一行只能定义一个变量 | ||
<module name="MultipleVariableDeclarations"/> --> | ||
<!--检查再定义数组时,采用java风格还是c风格,例如:int[] num是java风格,int num[]是c风格。默认是java风格--> | ||
<module name="ArrayTypeStyle"/> | ||
<!--检查switch语句是否有default--> | ||
<module name="MissingSwitchDefault"/> | ||
<!--检查switch中case后是否加入了跳出语句,例如:return、break、throw、continue --> | ||
<module name="FallThrough"/> | ||
<!--检查是否在long类型是否定义了大写的L.字母小写l和数字1很相似--> | ||
<module name="UpperEll"/> | ||
<!-- ModifierOrder 检查修饰符的顺序,默认是 public,protected,private,abstract,static,final,transient,volatile,synchronized,native --> | ||
<module name="ModifierOrder"/> | ||
<!-- 检查是否有多余的修饰符,例如:接口中的方法不必使用public、abstract修饰 --> | ||
<module name="RedundantModifier"/> | ||
<!--- 字符串比较必须使用 equals() --> | ||
<module name="StringLiteralEquality"/> | ||
<!-- if-else嵌套语句个数 最多4层 --> | ||
<module name="NestedIfDepth"> | ||
<property name="max" value="3"/> | ||
</module> | ||
<!-- try-catch 嵌套语句个数 最多2层 --> | ||
<module name="NestedTryDepth"> | ||
<property name="max" value="2"/> | ||
</module> | ||
<!--空白行分隔符检查--> | ||
<module name="EmptyLineSeparator"> | ||
<property name="allowNoEmptyLineBetweenFields" value="true"/> | ||
</module> | ||
<!--点号分隔新起一行--> | ||
<module name="SeparatorWrap"> | ||
<property name="id" value="SeparatorWrapDot"/> | ||
<property name="tokens" value="DOT"/> | ||
<property name="option" value="nl"/> | ||
</module> | ||
<!--逗号分隔在行尾--> | ||
<module name="SeparatorWrap"> | ||
<property name="id" value="SeparatorWrapComma"/> | ||
<property name="tokens" value="COMMA"/> | ||
<property name="option" value="EOL"/> | ||
</module> | ||
<!-- static, non-final fields --> | ||
<module name="StaticVariableName"> | ||
<property name="format" value="(^[A-Z0-9_]{0,40}$)"/> | ||
</module> | ||
<!--检查常量名称是否符合格式属性指定的格式--> | ||
<module name="ConstantName"> | ||
<property name="format" value="(^[A-Z0-9_]{0,40}$)"/> | ||
</module> | ||
|
||
<!--检查包名称是否符合格式属性指定的格式--> | ||
<module name="PackageName"> | ||
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/> | ||
</module> | ||
<!--检查类型名称是否符合格式属性指定的格式--> | ||
<module name="TypeName"/> | ||
<!--检查实例变量名称是否符合格式属性指定的格式--> | ||
<module name="MemberName"> | ||
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/> | ||
</module> | ||
<!--检查参数名称是否符合格式属性指定的格式--> | ||
<module name="ParameterName"> | ||
<property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/> | ||
</module> | ||
<!--catch参数--> | ||
<module name="CatchParameterName"> | ||
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/> | ||
</module> | ||
<!--检查本地、非最终变量名称是否符合格式属性指定的格式--> | ||
<module name="LocalVariableName"> | ||
<property name="tokens" value="VARIABLE_DEF"/> | ||
<property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/> | ||
</module> | ||
<module name="ClassTypeParameterName"> | ||
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/> | ||
</module> | ||
<module name="MethodTypeParameterName"> | ||
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/> | ||
</module> | ||
<module name="InterfaceTypeParameterName"> | ||
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/> | ||
</module> | ||
<!--检查没有finalize()方法定义在类中--> | ||
<module name="NoFinalizer"/> | ||
<!--检查<>周围的空格--> | ||
<module name="GenericWhitespace"/> | ||
<!-- 代码缩进 --> | ||
<module name="Indentation"> | ||
<property name="basicOffset" value="4"/> | ||
<property name="braceAdjustment" value="0"/> | ||
<property name="caseIndent" value="4"/> | ||
<property name="throwsIndent" value="4"/> | ||
<property name="lineWrappingIndentation" value="8"/> | ||
<property name="arrayInitIndent" value="4"/> | ||
</module> | ||
<!--检查验证缩写(连续大写字母)的长度标识符的名称,它也可以强制执行骆驼命名--> | ||
<module name="AbbreviationAsWordInName"> | ||
<property name="ignoreFinal" value="false"/> | ||
<property name="allowedAbbreviationLength" value="2"/> | ||
</module> | ||
<!--检查重载方法是否组合在一起--> | ||
<module name="OverloadMethodsDeclarationOrder"/> | ||
<!--检查变量声明和首次使用之间的距离--> | ||
<!--<module name="VariableDeclarationUsageDistance"/>--> | ||
<!--<module name="CustomImportOrder">--> | ||
<!--<property name="sortImportsInGroupAlphabetically" value="true"/>--> | ||
<!--<property name="separateLineBetweenGroups" value="true"/>--> | ||
<!--<property name="customImportOrderRules" value="STATIC###THIRD_PARTY_PACKAGE"/>--> | ||
<!--</module>--> | ||
<module name="MethodParamPad"/> | ||
<module name="ParenPad"/> | ||
<!--<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, METHOD_REF "/>--> | ||
<!--</module>--> | ||
<!--检查注解位置--> | ||
<module name="AnnotationLocation"> | ||
<property name="id" value="AnnotationLocationMostCases"/> | ||
<property name="tokens" | ||
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/> | ||
</module> | ||
<module name="AnnotationLocation"> | ||
<property name="id" value="AnnotationLocationVariables"/> | ||
<property name="tokens" value="VARIABLE_DEF"/> | ||
<property name="allowSamelineMultipleAnnotations" value="true"/> | ||
</module> | ||
<!--<module name="NonEmptyAtclauseDescription"/>--> | ||
<!--<module name="JavadocTagContinuationIndentation"/>--> | ||
<!--<module name="SummaryJavadoc">--> | ||
<!--<property name="forbiddenSummaryFragments" value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>--> | ||
<!--</module>--> | ||
<!--<module name="JavadocParagraph"/>--> | ||
<!--<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>--> | ||
<!-- 检查类和接口的javadoc 默认不检查author 和version tags | ||
authorFormat: 检查author标签的格式 | ||
versionFormat: 检查version标签的格式 | ||
scope: 可以检查的类的范围,例如:public只能检查public修饰的类,private可以检查所有的类 | ||
excludeScope: 不能检查的类的范围,例如:public,public的类将不被检查,但访问权限小于public的类仍然会检查,其他的权限以此类推 | ||
tokens: 该属性适用的类型,例如:CLASS_DEF,INTERFACE_DEF --> | ||
<!--<module name="JavadocType">--> | ||
<!--<property name="authorFormat" value="\S"/>--> | ||
<!--<property name="scope" value="protected"/>--> | ||
<!--<property name="tokens" value="CLASS_DEF,INTERFACE_DEF"/>--> | ||
<!--</module>--> | ||
<!-- 检查方法的javadoc的注释 | ||
scope: 可以检查的方法的范围,例如:public只能检查public修饰的方法,private可以检查所有的方法 | ||
allowMissingParamTags: 是否忽略对参数注释的检查 | ||
allowMissingThrowsTags: 是否忽略对throws注释的检查 | ||
allowMissingReturnTag: 是否忽略对return注释的检查 --> | ||
<!--<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>--> | ||
<!-- 检查类变量的注释 | ||
scope: 检查变量的范围,例如:public只能检查public修饰的变量,private可以检查所有的变量 --> | ||
<!--<module name="JavadocVariable">--> | ||
<!--<property name="scope" value="private"/>--> | ||
<!--</module>--> | ||
<!--检查方法名称是否符合格式属性指定的格式--> | ||
<module name="MethodName"> | ||
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/> | ||
</module> | ||
<!--<module name="SingleLineJavadoc">--> | ||
<!--<property name="ignoreInlineTags" value="false"/>--> | ||
<!--</module>--> | ||
<!--检查空catch块--> | ||
<module name="EmptyCatchBlock"> | ||
<property name="exceptionVariableName" value="expected"/> | ||
</module> | ||
<!--<module name="CommentsIndentation"/>--> | ||
</module> | ||
</module> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.