美文网首页
CheckStyle 标准检测(Standard Checks)

CheckStyle 标准检测(Standard Checks)

作者: 音乐与咖啡Bean | 来源:发表于2020-06-12 16:29 被阅读0次

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检查是否有任何类或对象成员显式初始化为默认类型值(nullfor object references, zero for numeric types andcharandfalseforboolean.

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注解的一组检查抑制.

相关文章

网友评论

      本文标题:CheckStyle 标准检测(Standard Checks)

      本文链接:https://www.haomeiwen.com/subject/wzcntktx.html