CheckStyle 标准检测(Standard Checks)
http://checkstyle.sourceforge.net/checks.html
标准检查适用于一般的Java编码风格,不需要外部库。 标准检查包含在基本的发布中。
Checkstyle提供了许多可以应用到您的源代码的检查。 以下是按照字母序的参考,网站导航菜单提供了按功能组织的参考。
AbbreviationAsWordInName | 检查验证标识符名称中的缩写(连续大写字母)长度,还允许执行骆驼案例命名。 |
AbstractClassName | 确保抽象类的名称符合一些正则表达式。 |
AnnotationLocation | 检查语言元素上的标注位置。 |
AnnotationUseStyle | 此检查使用标注控制样式 |
AnonInnerLength | 检查长匿名内部类 |
ArrayTrailingComma | 检查数组初始化是否包含可选的逗号 |
ArrayTypeStyle | 检查数组类型定义的样式 |
AtclauseOrder | 检查at-clauses的顺序 |
AvoidEscapedUnicodeCharacters | 限制使用Unicode转义 |
AvoidInlineConditionals | 检测内联条件。 |
AvoidNestedBlocks | 查找嵌套块 |
AvoidStarImport | 检查发现使用*符号的导入语句 |
AvoidStaticImport | 检查找到静态导入 |
BooleanExpressionComplexity | 将嵌套布尔运算符(&&,||,&,|和^)限制为指定的深度(默认= 3) |
CatchParameterName | 检查catch参数名是否符合format属性指定的格式 |
ClassDataAbstractionCoupling | 此度量衡量给定类中其他类的实例化数 |
ClassFanOutComplexity | 给定类别的依赖其他类的数量 |
ClassTypeParameterName | 检查类类型参数名称是否符合format属性指定的格式 |
CommentsIndentation | 控制注释和周围代码之间的缩进 |
ConstantName | 检查常量名称是否符合format属性指定的格式 |
CovariantEquals | 检查一个类是否定义了一个协变方法equals(java.lang.Object). |
CustomImportOrder | 检查导入声明组按照用户指定的顺序显示 |
CyclomaticComplexity | 根据指定的限制检查循环复杂度 |
DeclarationOrder | 检查类或接口声明的部分按照 [Java编程语言的代码约定](http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-141855.html#1852) 建议的顺序出现 |
DefaultComesLast | 检查default是否在switch语句中的所有case之后 |
DescendantToken | 检查其他令牌下的限制令牌。 |
DesignForExtension | 检查类是否为继承而设计 |
EmptyBlock | 检查空块,但不验证顺序块 |
EmptyCatchBlock | 检查空的catch块,通过几个选项来跳过违规 |
EmptyForInitializerPad | 检查用于初始化程序的空的填充; 那就是是否需要一个空的含有空白初始化器,否则这样的空格被禁止 |
EmptyForIteratorPad | 检查一个空的填充迭代器; 是否需要一个空的含有空白迭代器,否则这样的空格被禁止 |
EmptyLineSeparator | 检查空白分隔线。 |
EmptyStatement | 检测空的语句(独立的';') |
EqualsAvoidNull | 检查字符串文字的任何组合是否在equals()比较的左侧 |
EqualsHashCode | 检查override equals()的类也override hashCode() |
ExecutableStatementCount | 将可执行语句的数量限制为指定的限制(默认= 30). |
ExplicitInitialization | 检查是否有任何类或对象成员显式初始化为默认类型值(null for object references, zero for numeric types and char and false for boolean. |
FallThrough | 检查switch语句中的错误,查找条件语句中,缺少break,return,throw或continue语句 |
FileLength | 检查长源文件 |
FileTabCharacter | 检查文件是否包含制表符 |
FinalClass | 检查只有私有构造函数的类被声明为final |
FinalLocalVariable | 确保永远不会改变其值的局部变量必须被声明为final。 |
FinalParameters | 检查该方法/构造函数/ catch / foreach参数是否为final. |
GenericWhitespace | 检查通用标记< and >周围的空格对于惯例是正确的 |
Header | 根据固定的头文件检查源 |
HiddenField | 检查局部变量或参数不会影响同一个类中定义的字段. |
HideUtilityClassConstructor | 确保实用程序类(仅包含静态方法的类)没有公共构造函数 |
IllegalCatch | 获java.lang.Exception,java.lang.Error或java.lang.RuntimeException几乎是不可接受的. |
IllegalImport | 检查从一组非法imports packages |
IllegalInstantiation | 检查优先采用工厂方法的非法实例 |
IllegalThrows | 抛出java.lang.Error或java.lang.RuntimeException几乎是不可接受的。 |
IllegalToken | 检查非法令牌 tokens. |
IllegalTokenText | 检查非法令牌文本 token text. |
IllegalType | 查特定的类不会被用作变量声明,返回值或参数中的类型 |
ImportControl | 检查是否控制在每个包中可以导入哪些包 |
ImportOrder | 确保imports按照特定的顺序进行 |
Indentation | 检查Java代码的正确缩进。 |
InnerAssignment | 检查子表达式中的赋值,例如String s = Integer.toString(i = 2); |
InnerTypeLast | 检查嵌套(内部)类/接口声明在类的底部 |
InterfaceIsType | Implements Bloch, Effective Java, Item 17 - 仅使用接口来定义类. |
InterfaceTypeParameterName | 检查接口类型参数名称是否符合format属性指定的格式 |
JavadocMethod | 检查方法或构造函数的Javadoc. |
JavadocPackage | 检查所有软件包是否具有软件包文档 |
JavadocParagraph | 检查Javadoc段落 |
JavadocStyle | 自定义Checkstyle检查以验证Javadoc |
JavadocTagContinuationIndentation | 检查at-clauses中的连续行的缩进 |
JavadocType | 检查类型的Javadoc。 |
JavadocVariable | 检查变量是否具有Javadoc注释. |
JavaNCSS | 此检查计算Java源文件和方法的非注释源语句(NCSS)度量. |
LeftCurly | 检查左侧花括号的类型,方法和其他块的位置 |
LineLength | 检查长 lines. |
LocalFinalVariableName | 检查本地最终变量名称是否符合format属性指定的格式. |
LocalVariableName | 检查本地,非最终变量名称是否符合format属性指定的格式. |
MagicNumber | 查魔术数字 magic numbers. |
MemberName | 检查实例变量名是否符合format属性指定的格式 |
MethodCount | 检查每种类型中声明的方法数。 |
MethodLength | 检查长的方法. |
MethodName | 检查方法名称是否符合format属性指定的格式 |
MethodParamPad | 查方法定义的标识符,构造函数定义,方法调用或构造函数调用之间的填充; 和参数列表的左括号 |
MethodTypeParameterName | 检查类类型参数名称是否符合format属性指定的格式 |
MissingCtor | 检查类(除抽象之外)定义一个ctor,而不依赖于默认的类 . |
MissingDeprecated | 此类用于验证是否存在java.lang.Deprecated注释,并且当存在这些注释时,会出现@deprecated Javadoc标记 |
MissingOverride | 此类用于验证当存在{@inheritDoc} javadoc标记时存在java.lang.Override注释 |
MissingSwitchDefault | 检查switch语句是否具有“default”子句 |
ModifiedControlVariable | 检查确保for块中没有修改循环控制变量. |
ModifierOrder | 检查修改符的顺序是否符合 Java Language specification, sections 8.1.1, 8.3.1 and 8.4.3. |
MultipleStringLiterals | 检查单个文件中同一字符串文字的多次出现 |
MultipleVariableDeclarations | 检查每个变量声明是在自己的语句和它自己的行. |
MutableException | 确保异常(定义为符合某些正则表达式的任何类名称)是不可变的 |
NeedBraces | 检查代码块周围的大括号 |
NestedForDepth | 限制块嵌套到指定的深度(默认= 1) |
NestedIfDepth | 将嵌套if-else块限制为指定深度(default = 1) |
NestedTryDepth | 限制嵌套的try-catch-finally块到指定的深度(default = 1) |
NewlineAtEndOfFile | 检查每个文件末尾是否有换行符 |
NoClone | 检查克隆 clone 方法是否不被Object类覆盖 |
NoFinalizer | 检查没有使用name finalize定义零参数的方法。. |
NoLineWrap | 检查所选择的语句是否不被换行. |
NonEmptyAtclauseDescription | 检查at-clause标签之后是描述. |
NoWhitespaceAfter | 检查一个令牌后没有空格. |
NoWhitespaceBefore | 检查在令牌token之前没有空格. |
NPathComplexity | 根据指定的限制检查npath复杂度(默认= 200. |
OneStatementPerLine | 检查每行只有一个语句. |
OneTopLevelClass | 检查每个顶级类,接口或枚举是否位于自己的源文件中。 |
OperatorWrap | 检查 operators 换行符. |
OuterTypeFilename | 检查外部类型名称和文件名称是否匹配. |
OuterTypeNumber | 在“外部”级别检查定义类型的数量. |
OverloadMethodsDeclarationOrder | 检查overload方法是否组合在一起。 |
PackageAnnotation | 此检查确保所有包注释都在package-info.java文件中 |
PackageDeclaration | 确保有一个包声明和(可选)在正确的目录. |
PackageName | 检查包名是否符合format属性指定的格式. |
ParameterAssignment | 不允许分配参. |
ParameterName | 检查参数名称是否符合format属性指定的格式. |
ParameterNumber | 检查方法或构造函数具有的参数数 |
ParenPad | 检查括号中的填充; 这是在左括号之后和右括号之前是否需要空格,否则禁止这样的空格,除了它不检查用于迭代器的空的右括号的填充。 |
RedundantImport | 检查多余的导入. |
RedundantModifier | 在接口和注释定义中检查冗余修饰符,对最终类的方法进行最终修饰,声明为静态的内部接口声明,非公共类构造函数和枚举构造函数,被声明为静态的嵌套枚举定义。 |
Regexp | 一个检查,确保文件中存在指定的模式(或不存在) . |
RegexpHeader | 根据包含a的头文件检查源 |
RegexpMultiline | 执行一个检查,看起来匹配任何文件类型的多行. |
RegexpOnFilename | 执行基于文件和/或文件夹路径匹配的检查. |
RegexpSingleline | 执行在任何文件类型中查找单行的检查 |
RegexpSinglelineJava | 执行在Java文件中查找单行的检查 |
RequireThis | 检查代码不依赖于“this”默认值. |
ReturnCount | 将返回语句限制为指定的计数(default = 2) |
RightCurly | 检查右侧花括号的位置. |
SeparatorWrap | 用分隔线检查线条wrapping |
SimplifyBooleanExpression | 检查过于复杂的布尔表达式. |
SimplifyBooleanReturn | 检查过于复杂的布尔返回语句. |
SingleLineJavadoc | 检查可以适合单行并且不包含at-clauses的JavaDoc块 |
SingleSpaceSeparator | 检查非空格字符由不超过一个空格分隔 |
StaticVariableName | 检查静态非最终变量名称是否符合format属性指定的格式 |
StringLiteralEquality | 检查字符串文字不使用==或!= |
SummaryJavadoc | 检查Javadoc摘要句不包含不推荐使用的短语. |
SuperClone | 检查重写的clone()方法是否调用super.clone() |
SuperFinalize | 检查一个重写的finalize()方法调用super.finalize() |
SuppressWarnings | 此检查允许您指定哪些警告 |
ThrowsCount | 限制throws语句 用到指定的计数(default = 4) |
TodoComment | 检查TODO 注释. |
TrailingComment | 检查以确保要求该comments是唯一的一行 |
Translation | TranslationCheck类有助于通过检查属性文件来确保代码的正确翻译,使其与key的一致性。 |
TypecastParenPad | 检查类型转换括号中的填充. |
TypeName | 检查类型名称是否符合format属性指定的格式 |
UncommentedMain | 检测未注释的主要方法. |
UniqueProperties | 在属性文件中检测重复的keys |
UnnecessaryParentheses | 检查语句或表达式中是否使用不必要的括号 |
UnusedImports | 检查未使用的导入语句. |
UpperEll | 检查长常数是否由一个上限定义. |
VariableDeclarationUsageDistance | 检查声明变量与其第一次使用之间的距离 |
VisibilityModifier | 查class成员的能见度 . |
WhitespaceAfter | 检查一个令牌之后是空格,除了它在空的for iterator的分号之后不检查空格。. |
WhitespaceAround | 查令牌是否被空格包围 |
WriteTag | 输出JavaDoc标签作为信息. |
占位(Holder) Checks
这些检查不是正常检查,通常与专门的过滤器相关联,以收集过滤器无法获得的信息。
FileContentsHolder | 将当前配置为TreeWalker子模块的当前文件内容保存为全局访问. |
SuppressWarningsHolder | 管理SuppressWarnings注解的一组检查抑制. |
0 评论:
发表评论