PHPMDのルール一覧


ルール一覧

ルール ルール名 説明 デフォルト
Clean Code Rules
(cleancode.xml)
BooleanArgumentFlag 関数の引数デフォルト値にboolean値が設定されている
ElseExpresstion elseが記述されている
StaticAccess メソッド内で別クラスのメソッドを静的呼び出ししている
Code Size Rules
(codesize.xml)
CyclomaticComplexity 関数が複雑である(制御構造が多い) 上限10
NPathComplexity 経路数が多い 上限200
ExcessiveMethodLength 関数が長い 上限100行
ExcessiveClassLength クラスが長い 上限値1000行
ExcessiveParameterList 関数の引数が多い 上限10
ExcessivePublicCount publicが多い 上限45
TooManyFields プロパティが多い 上限15
TooManyMethods メソッドが多い 上限25
TooManyPublicMethods publicメソッドが多い 上限10
ExcessiveClassComplexity クラスが複雑 一クラス内の複雑さが50以上
Controversial Rules
(controversial.xml)
Supergloobals スーパーグローバル変数にアクセスしている
CamelCaseClassName クラス名がキャメルケースになっていない(UCC)
CamelCasePropertyName プロパティ名がキャメルケースになっていない(LCC)
CamelCaseMethodName メソッド名がキャメルケースになっていない(LCC)
CamelCaseParameterName 引数名がキャメルケースになっていない(LCC)
CamelCaseVariableName 変数名がキャメルケースになっていない(LCC)
Design Rules
(design.xml)
ExitExpression 関数内でexitしている TD
EvalExpression evalが使われている TD
GotoStatement gotoが使われている TD
NumberOfChildren 小クラスが多い 上限15
DepthOfInheritance 親クラスが多い 上限6
CouplingBetweenObjects クラスの依存関係が多い 上限13
DevelopmentCodeFragment デバッグコードがある var_dump
print_r
debug_zval_dump
debug_print_backtrace
Naming Rules
(naming.xml)
ShortVariable 変数名が短い 下限3文字
LongVariable 変数名が長い 上限20文字
ShortMethodName メソッド名が短い 下限3文字
ConstructorWithNameAsEnclosingClass クラス名のコンストラクタがある
ConstantNamingConventions 定数が大文字ではない
BooleanGetMethodName booleanを返すときはisFoo()またはhasFoo()にする
Unused Code Rules
(unusedcode.xml)
UnusedPrivateField privateなフィールドが使われていない
UnusedLocalVariable ローカル変数が使われていない
UnusedPrivateMethod privateなメソッドが使われていない
UnusedFormalParameter 引数が使われていない

カスタムルールファイル作成
PHPMD公式に記載されている、ルールファイルのテンプレート「ruleset.xml」をコピーして使用する。