2017年6月26日星期一

CheckStyle 标准检测(Standard Checks)

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检查嵌套(内部)类/接口声明在类的底部
InterfaceIsTypeImplements 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是唯一的一行 
TranslationTranslationCheck类有助于通过检查属性文件来确保代码的正确翻译,使其与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注解的一组检查抑制.
发表评论