文章出處

屬性
說明

basedir
代碼所在的位置

AbstractClassName
format: 定義抽象類的命名規則

PackageName
format: 定義包名的命名規則

TypeName
format: 定義類和接口的命名規則
tokens: 定義規則適用的類型,例如:CLASS_DEF表示類,INTERFACE_DEF 表示接口

ParameterName
format: 定義參數名的命名規則

ParameterNumber
max: 定義最多有多少個參數
tokens: 定義檢查的類型

StaticVariableName
format: 定義靜態變量的命名規則

MethodName
format: 定義方法名的命名規則

LeftCurly
option: 定義左大括號'{'顯示位置,eol在同一行顯示,nl在下一行顯示
maxLineLength: 大括號'{'所在行行最多容納的字符數
tokens: 該屬性適用的類型,例:CLASS_DEF,INTERFACE_DEF,METHOD_DEF,CTOR_DEF

LineLength
max: 定義一行所能容許的字符數
ignorePattern: 定義可以忽略的格式

MethodLength
檢查方法的行數
max: 最多容許的行數
countEmpty: 是否計算空行
tokens: 定義檢查的類型

RightCurly
option: 右大括號是否單獨一行顯示
tokens: 定義檢查的類型

PackageHtml
檢查對每一個包是否生成了package.html文件
fileExtensions: 指定要檢查的文件的類型,如果只包含java文件,就不必指定

JavadocType
檢查類或者接口的javadoc注釋
authorFormat: 檢查author標簽的格式
versionFormat: 檢查version標簽的格式
scope: 可以檢查的類的范圍,例如:public只能檢查public修飾的類,private可以檢查所有的類
excludeScope: 不能檢查的類的范圍,例如:public,public的類將不被檢查,但訪問權限小于public的類仍然會檢查,其他的權限以此類推
tokens: 該屬性適用的類型,例如:CLASS_DEF,INTERFACE_DEF

JavadocMethod
檢查方法的javadoc的注釋
scope: 可以檢查的方法的范圍,例如:public只能檢查public修飾的方法,private可以檢查所有的方法
allowMissingParamTags: 是否忽略對參數注釋的檢查
allowMissingThrowsTags: 是否忽略對throws注釋的檢查
allowMissingReturnTag: 是否忽略對return注釋的檢查

JavadocVariable
檢查類變量的注釋
scope: 檢查變量的范圍,例如:public只能檢查public修飾的變量,private可以檢查所有的變量

JavadocStyle
scope: 
excludeScope: 
checkFirstSentence: 
checkEmptyJavadoc: 
checkHtml: 
tokens:

LocalVariableName
format: 定義局部變量的命名規則

LocalFinalVariableName
format: 定義局部常量的命名規則

ConstantName
format: 定義全局常量的命名規則

MemberName
format: 定義非靜態成員變量的命名規則
applyToPublic: 是否適用于public的成員變量
applyToProtected: 是否適用于protected的成員變量
applyToPackage: 是否適用于package的成員變量
applyToPrivate: 是否適用于private的成員變量

AvoidStarImport
必須導入類的完整路徑,即不能使用*導入所需的類
excludes: 定義可以使用*導入的包

ImportOrder
定義導入包的順序
groups: 定義導入包的順序,默認以字母順序導入
ordered: 定義包是否必須按規定的順序顯示
separated: 定義包與包之間是否應添加空白行
caseSensitive: 是否區分包名的大小寫

IllegalImport
檢查是否從非法的包中導入了類
illegalPkgs: 定義非法的包名稱

UnusedImports
檢查是否導入的包沒有使用

RedundantImport
檢查是否導入了不必顯示導入的類

EmptyForInitializerPad
檢查for語句初始化變量的格式
option: 定義初始化語句中是否使用空格,例如:space表示使用空格,則for(int i = 0; i < 100; i++)就是符合格式要求的,而for(int i=0; i<100;i++)就不符合要求

EmptyForIteratorPad
檢查for iterator語句是否使用空格
option: 定義初始化語句是否使用空格,例如:space表示使用空格,則for(Iterator iterator = List.iterator(); iterator.hasNext(); iterator.next())就是形式合理的,否則就是形式不合理的

ExecutableStatementCount
檢查要執行的語句的數目
max: 定義所能容許的語句的最多數目
tokens: 定義可以檢查的類型,例如:CTOR_DEF,METHOD_DEF,STATIC_INIT,INSTANCE_INIT

FileLength
max: 定義一個文件所能容許的行數

AnonInnerLength
檢查匿名內部類
max: 定義匿名內部類最多容許的行數

MethodParamPad
檢查方法參數的格式
allowLineBreaks: 參數是否允許在不同行(注:沒有作用)
option: 在參數和括號、參數和標識符之間是否包含空格

OperatorWrap
檢查運算符是否在應在同一行
option: 定義運算符的位置,eol在同一行,nl在下一行
tokens: 定義檢查的類型

ParenPad
檢查左小括號'('后邊和右小括號')'前邊是否有空格
option: space表示有空格,nospace表示沒有空格
tokens: 定義檢查的類型

TypecastParenPad
暫不清楚

TabCharacter
檢查源碼中是否包含\t

WhitespaceAfter
檢查類型后是否包含空格
tokens: 檢查的類型

WhitespaceAround
暫不清楚

ModifierOrder
檢查修飾符的順序,默認是 public,protected,private,abstract,static,final,transient,volatile,synchronized,native,strictfp(注:定義不起作用)

RedundantModifier

RedundantModifier
檢查是否有多余的修飾符,例如:接口中的方法不必使用public、abstract修飾
tokens: 檢查的類型

EmptyBlock
檢查是否有空代碼塊
option: 定義代碼塊中應該包含的內容,例如:stmt表示語句
tokens: 檢查的類型

NeedBraces
檢查是否應該使用括號的地方沒有加括號
tokens: 定義檢查的類型

AvoidNestedBlocks
檢查是否有嵌套的代碼塊
allowInSwitchCase: 定義是否允許switch case中使用嵌套的代碼塊

ArrayTrailingComma
檢查初始化數祖時,最后一個元素后面是否加了逗號,如果左右大括號都在同一行,則可以不加逗號

AvoidInlineConditionals
檢查是否在同一行初始化, 例如:private int Age = nGe==1 ? 100 : 0; 就應該避免

CovariantEquals
暫不清楚

ModifiedControlVariable
檢查循環控制變量是否被修改

SimplifyBooleanExpression
檢查是否有boolean使用冗余的地方,例如:b == true、b || true,應該簡化為 b、b

SimplifyBooleanReturn
檢查是否在返回boolean值時是否有使用冗余的地方,例如:
    if(valid())
        return true;
    else
        return false;
應該改為:
    return valid();

StringLiteralEquality
檢查在判斷字符串是否相等時是否使用了正確的形式

EqualsHashCode
檢查在重寫了equals方法后是否重寫了hashCode方法

FinalLocalVariable
檢查變量值沒有改動的情況下,該變量是否定義成了final

MissingSwitchDefault
檢查switch語句是否忘記了default標簽

RedundantThrows
檢查是否拋出了多余的異常

DefaultComesLast
檢查switch中default是否在所有case的后面

MissingCtor
檢查類中是否顯式定義了構造器

FallThrough
檢查switch中case后是否加入了跳出語句,例如:return、break、throw、continue

MultipleStringLiterals
檢查一個字符串變量在不改變變量值的情況下或者字符串出現的次數
allowedDuplicates: 定義在類中一個字符串變量在不改變變量值的情況下或者字符串所能使用的最多次數

MultipleVariableDeclarations
檢查一次聲明多個變量時,變量是否在同一行或者在同一個語句中

RequireThis
檢查是否使用了this
checkFields: 是否檢查變量引用
checkMethods: 是否檢查方法調用

UnnecessaryParentheses
檢查是否使用了多余的小括號

VisibilityModifier
檢查變量是否對外部可見
packageAllowed: 變量包內成員可以訪問
protectedAllowed: 變量是受保護的
publicMemberPattern: 可以公開訪問的變量所匹配的命名形式

FinalClass
只有私有構造器的類必須聲明為final

InterfaceIsType
檢查接口是否只定義了變量而沒有定義方法,因為接口應該用來描述一個類型,所以只定義變量而不定義方法是不恰當的
allowMarkerInterfaces: 是否檢查空接口

HideUtilityClassConstructor
只定義了靜態方法的類不應該定義一個公有的構造器

DesignForExtension
檢查類是否被設計為可擴展的,如果是,則方法應該abstract、final或者是空的

ThrowsCount
檢查拋出異常的數量
max: 定義拋出異常的最大數目

StrictDuplicateCode
檢查類中是否有代碼復制的問題
min: 允許代碼重復的最小行數
charset: 文件所用的字符集

BooleanExpressionComplexity
max: 布爾運算符在一條語句中允許出現的最大數目

GenericIllegalRegexp
檢查代碼中是否有不合適的引用形式或者字符
format: 定義檢查所匹配的類型
ignoreCase: 是否區分大小寫
ignoreComments: 是否忽略注釋
message: 出現問題應該顯示給用戶的信息

NewlineAtEndOfFile
檢查文件是否以一個新行結束
lineSeparator: 行分隔符的類型,windows是crlf

UncommentedMain
檢查是否有沒有被注掉或者刪除的main方法
excludedClasses: 定義可以帶main方法的類所匹配的名字形式

UpperEll
檢查初始化長整型變量時,數字後是加了大寫字母'L'而不是小寫字母'l'

ArrayTypeStyle
檢查再定義數組時,采用java風格還是c風格,例如:int[] num是java風格,int num[]是c風格
javaStyle: 定義是否采用java風格定義數組

FinalParameters
檢查參數是否是常量
tokens: 定義檢查的類型

Indentation
檢查代碼的縮進是否符合要求
basicOffset: 定義代碼體相對于所屬的代碼體的縮進量
braceAdjustment: 定義括號的縮進量
caseIndent: 定義case的縮進量

RequiredRegexp
檢查文件中是否存在相應的文字
format: 定義所匹配的形式

usage.OneMethodPrivateField
檢查是否只有一個方法訪問了私有變量
ignoreFormat: 定義可以忽略的變量所匹配的命名形式

usage.UnusedLocalVariable
檢查是否有命名後沒有使用的變量
ignoreFormat: 定義可以忽略的變量所匹配的命名形式

usage.UnusedParameter
檢查是否有沒有使用的參數
ignoreFormat: 定義可以忽略的變量所匹配的命名形式
ignoreCatch: 是否忽略catch中的參數
ignoreNonLocal: 是否忽略非本地的變量

usage.UnusedPrivateField
檢查是否存在未被使用的私有成員變量
ignoreFormat: 定義可以忽略的變量所匹配的命名形式

usage.UnusedPrivateMethod
檢查是否存在未被使用的私有方法
ignoreFormat: 定義可以忽略的變量所匹配的命名形式

來源:http://www.cnblogs.com/chinafine/archive/2011/01/11/1933352.html

相關:http://wenku.baidu.com/link?url=J3KVSABcfQGygDGKp5yKGxXZtP09UjiMwg3k13IlnTolAPcmDCjXkwMZ6qgr3dVsVn1YhpEqkH_1WY5-41tEW9pxhrKTn_KTq_LWJZgfd77

http://wenku.baidu.com/link?url=J3KVSABcfQGygDGKp5yKGxXZtP09UjiMwg3k13IlnTolAPcmDCjXkwMZ6qgr3dVsUB3lmw6IF0BJ89q1uXtPKalUEAx2DZH3ku7sCBezbtq

 

詳解CheckStyle的檢查規則(共138條規則)

http://www.docin.com/p-753849855.html


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()