TOPシステム開発> コード解析
まるごとEclipse!
Eclipseで使えるテストツール

第4回:PMDによるコード解析

著者:坂田祐司(SAKATA, Yuji)   2006/4/10
1   2  次のページ
コード解析

   本節では、実際にサンプルを用いてPMDを用いたコード解析を行ってみます。リスト1は、対象とするサンプルコードです。
リスト1:サンプルコード
public class SampleGame {
   public static final int MAX_VALUE = 10;
   public static void main(String[] args) {
      SampleGame sampleGame = new SampleGame();
      if (args.length > 0){
         final int num = Integer.parseInt(args[0]);
         System.out.println("あなたの入力は"+num+"ですね");
         final int answer = sampleGame.createAnswer();
         if (answer == num){
            System.out.println("おめでとう");
         } else {
            System.out.println("残念!答えは"+ answer + "です" );
         }
      }
   }
   private int createAnswer(){
      return (int) (Math.random()*MAX_VALUE);
   }
}

   コードの解析は、非常に簡単です。図1で示すとおり、解析対象となるプロジェクト、パッケージ、ソースコードを選択し、右クリックして「CheckCode With PMD」を選択するだけです。

PMDによるコード解析の実行
図1:PMDによるコード解析の実行
(画像をクリックすると別ウィンドウに拡大図を表示します)

   解析対象がプロジェクトか、パッケージか、ソースコードかによって、表示メニューの項目が異なります。しかし、どの場合においても、Check codewith PMDを選択してください。


解析結果の表示と対処

   では、解析結果がどのように表示されるか見てみましょう。

   特にビューの設定を変更しなかった場合、(a)違反概略ビュー(Violation Outline)、(b)違反概観ビュー(Violation Overview)が、図2のように表示されます。

解析結果の表示画面
図2:解析結果の表示画面
(画像をクリックすると別ウィンドウに拡大図を表示します)

   違反概略ビューは、個々の違反に関する簡単なリスト、違反概観ビューは、解析対象全体の傾向をマクロ的に示すビューです。最初に、コードの修正のときに利用する、違反概略ビューの利用法を説明しましょう。ここでは、解析対象をパッケージとした場合を例として説明します。

   図3が、違反概略ビューです。最初の列が重要度、次の列が違反内容(Error Message)、最後の列が違反のコードにおける行数(Line)を表しています。

違反概略ビュー
図3:違反概略ビュー

   個々の違反を表す行で左クリックすると、ソースコードの違反行にジャンプします。また、右クリックすると、図3で示すように、「詳細を見る(Show Details)」、「レビュー実施済みマークをつける(Mark as reviewed)」、「違反とみなさない(Remove violation(s))」、「修正する(Quick fix)」、「違反レビュー結果を消去する(Clear violationsreviews)」というメニューが表示されます。詳細を見る、レビュー実施済みマークをつける、違反とみなさない、修正するの各機能を簡単に紹介します。

1   2  次のページ

坂田祐司(SAKATA, Yuji)
著者プロフィール
坂田祐司(SAKATA, Yuji)
SI企業の研究所においてソフトウェア工学の研究に従事。試験やプログラムの解析技術に興味を持ち活動中。

INDEX
第4回:PMDによるコード解析
コード解析
  詳細を見る