屬性
說明
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: 是否計算空行
RightCurly
option: 右大括号是否單獨一行顯示
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在下一行
ParenPad
檢查左小括号'('後邊和右小括号')'前邊是否有空格
option: space表示有空格,nospace表示沒有空格
TypecastParenPad
暫不清楚
TabCharacter
檢查源碼中是否包含\t
WhitespaceAfter
檢查類型後是否包含空格
tokens: 檢查的類型
WhitespaceAround
ModifierOrder
檢查修飾符的順序,預設是 public,protected,private,abstract,static,final,transient,volatile,synchronized,native,strictfp(注:定義不起作用)
RedundantModifier
檢查是否有多餘的修飾符,例如:接口中的方法不必使用public、abstract修飾
EmptyBlock
檢查是否有空代碼塊
option: 定義代碼塊中應該包含的内容,例如:stmt表示語句
NeedBraces
檢查是否應該使用括号的地方沒有加括号
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
檢查參數是否是常量
Indentation
檢查代碼的縮進是否符合要求
basicOffset: 定義代碼體相對于所屬的代碼體的縮進量
braceAdjustment: 定義括号的縮進量
caseIndent: 定義case的縮進量
RequiredRegexp
檢查檔案中是否存在相應的文字
format: 定義所比對的形式
usage.OneMethodPrivateField
檢查是否隻有一個方法通路了私有變量
ignoreFormat: 定義可以忽略的變量所比對的命名形式
usage.UnusedLocalVariable
檢查是否有命名後沒有使用的變量
usage.UnusedParameter
檢查是否有沒有使用的參數
ignoreCatch: 是否忽略catch中的參數
ignoreNonLocal: 是否忽略非本地的變量
usage.UnusedPrivateField
檢查是否存在未被使用的私有成員變量
usage.UnusedPrivateMethod
檢查是否存在未被使用的私有方法