FlexdPMDとは

FlexPMDはAdobeがオープンソースで提供するActionScript向けのコードチェックツールだ。ActionScriptのコードを解析して以下のようなチェックを行うことができる。

  • 未使用のコード(関数、変数、定数等)
  • 効率の悪いコード(ダイナミックフィルタの誤用、重いコンストラクタ等)
  • 複雑すぎるコード(ネストしたループ、条件が多すぎる場合等)
  • 長すぎるコード(クラス、メソッド等)
  • Flexコンポーネントライフサイクルを誤った使用

図1 FlexPMDのWebサイト

FlexPMDはコマンドラインやAntからの実行できるほか、Eclipseプラグインとしても利用可能だ。今回はFlash Builder 4(スタンドアロン版)にFlexPMDをインストールして使用する方法を紹介をする。

FlexdPMDをEclipseにインストール

まずはFlexPMDのダウンロードページから、FlexPMD本体(All-in-one-bundle)をダウンロードして適当なディレクトリに展開しておこう。

続いてFlash Builderからこちらの更新サイトを指定してFlexPMDのEclipseプラグインをインストールする。

Eclipseプラグインは以下の環境でテストされているとのことだ。

  • FlashBuilder 4 Beta 2 standalone
  • FlashBuilder 4 + Eclipse 3.5
  • FlashBuilder 4 + Eclipse 3.4
  • FlashBuilder 3 + Eclipse 3.4

インストールが完了したらEclipseプラグイン側の設定を行う。Flex Builderの[ウィンドウ]-[設定]からFlexPMDを選択しよう。FlexPMDの設定画面が表示されるので、以下のように設定を行う。

図2:FlexPMDの設定画面

FlexPMD command line installation:

FlexPMD本体に含まれるflex-pmd-command-line-x.x.jarのパス

FlexCPD command line installation:

FlexPMD本体に含まれるflex-pmd-cpd-command-line-1.2.jarのパス

以上で準備は完了だ。FlexPMD本体、およびプロジェクトのディレクトリに半角スペースが含まれているとFlexPMDがうまく動作しないことがあるようなので注意してほしい。

FlexPMDを使ってみよう

それでは早速FlexPMDを使ってみよう。Flex Builderで適当なプロジェクトを作成し、右クリック-[FlexPMD]-[Run FlexPMD]を選択するとFlexPMDが実行され、FlexPMD Viewというビューに結果が表示される。チェック結果はコンパイルエラーなどと同様、問題ビューにも表示される。

図3 FlexPMDの実行

図4 FlexPMD View

図5 結果は問題ビューにも表示される

FlexPMDをファイル保存のタイミングで自動実行するようにすることも可能だ。プロジェクトを右クリック-[FlexPM]-[Add FlexPMD Nature]を選択するとインクリメンタルビルド時にFlexPMDが実行されるようになる。自動実行を解除する場合は同じく右クリックメニューから[Remove FlexPMD Nature]を選択すればよい。FlexPMDでチェック可能なルールセットはFlexPMD Ruleset CreatorDで確認することができる(FlexPMD Ruleset Creatorはルールセットをカスタマイズして独自のルールセットを作成するためのFlexアプリケーションだ)。

図6 FlexPMD Ruleset Creator

また、右クリック-[FlexPMD]-[Find suspect cut and paste]を選択するとFlexCPD(ソースの重複するためのツール)を実行することができる。実行結果はCPD Viewに表示される。結果をダブルクリックすると重複していると判定された部分がエディタ上で範囲選択された状態になる。

図7 CPD View

まとめ

FlexPMDを利用するとActionScriptのコードにありがちな間違いをチェックすることができる。Flexアプリケーションの品質向上に役立ててほしい。