PMD (ソフトウェア)
PMD (英語のProgramming Mistake Detectorの頭文字)は、Javaソースコードを解析(英語版)するための静的なルールセットで、以下のような潜在的問題を識別する:
バグの可能性 —空のトライ/キャッチ/フィナリー/スイッチブロック
デッドコード —使われていないローカル変数、パラメータ、プライベートメソッド
空のif/whileステートメント
複雑な式 —whileループを可能にしたforループのステートメントが必要ない場合
準最適コード —無駄な文字列/ストリングバッファの使用
高い循環的複雑度測定を使ったクラス
重複コード —コピー・アンド・ペーストされたコードはバグもコピー・アンド・ペーストされていると解釈でき、保守性が低下してしまう。
PMDには正式名称が無く、いくつかの非公式名があり、おそらく最も適切な名称は「Programming Mistake Detector」とされる。
通常PMDのエラーは真のエラーにはならないが、むしろ非効率なコードで例えば未だに修正されないとしてもアプリケーションは適切な動作が出来る事になる。