Flex開発のテスト・品質向上でかなり使えるツール5選
クラスメソッド株式会社
福田 寅成
2010/10/22
【2】コーディング規約を順守させる「Flex Formatter」
ActionScriptやMXMLのファイルのフォーマットを行うのが「Flex Formatter」です。具体的にはコーディング規約を順守させる際に利用するツールです。
大規模案件ではコーディング規約に沿ってフォーマットされたソースコードを納品することはJavaなどのサーバサイド開発の世界では当たり前です。しかし、これまではFlexでのアプリケーション開発では、コーディング規約をFlex向けに作成しても、それを順守させる方法はコーディングレビューなどの目検でのチェックしかありませんでした。
そのため、実質的にはコーディングレビューも完全には行われず、コーディング規約は守られない状態になり、開発メンバー間でコードの書き方がバラバラになっていました。
そういったコードフォーマットの実施を可能にしたのがFlex Formatterです。SourceForge.netで公開されているプラグインツールです。ツールをFlash Builderにインストールすることによりコードのフォーマットが簡単に行えます。
□ 特徴
- 豊富なフォーマット設定によりきめ細かなフォーマットが可能
- [Ctrl]+[Shift]+[F]キーでフォーマット(EclipseのJava向けフォーマッタ同様)
- コードの可読性の向上などの生産性向上がもたらされる
□ フォーマットの設定
以下は、実際のフォーマットの設定画面です。
図3 Flex Formatterの設定画面例 |
以下は、具体的な設定カテゴリです。
- General(一般)
- ActionScript
- Blank lines/spaces(空行、スペース)
- Newlines/wrapping(改行)
- Tweaks(微調整)
- AS Rearranging(ActionScriptの並び替えや整とん)
- Modifiers(修飾子)
- Elements(要素)
- Span/Headers(コード内セクション)
- Copyright
- MXML
各カテゴリに豊富な設定があるので、社内のコーディング規約やプロジェクトごとの要件に応じていろいろとフォーマット設定を変更して試してみてはいかがでしょうか。
【3】コードを静的解析する「FlexPMD」
FlexPMDはコードの静的解析を行うツールです。コードそのものの品質を静的にチェックします。JavaではFindBugsやPMDが有名ですね。
FlexPMDはコード品質の向上でかなり効果があります。またFlexPMDを利用すれば、作成者とはまったく別の担当者、場合によっては別の会社の品質担当者であっても容易にコードチェックできます。コードの受け入れチェックなどにも利用できます。
□ 特徴
- 全82ルールによる徹底的なチェック
- 潜在的なバグのチェックが可能
- 非推奨なコーディングのチェックが可能
- パフォーマンスに影響しそうなコードのチェックが可能
- メンテナンス性の低いコードのチェックが可能
- Antによる実行が可能
潜在的なバグのチェックやコーディング規約のチェックのみならず、ある程度ですがパフォーマンスに影響するようなコードのチェックなども可能です。
□ 導入方法
FlexPMDはツールの導入に少し手順が必要なので、紹介しておきます。
- アップデートサイトでプラグインをインストール
- FlexPMD本体のダウンロード(JARファイルのダウンロード)
- FlexPMDの設定
- PMDとCPDのcommand-line-1.0.jarを登録
- パスに半角スペースが入っていると動かない
- ワークスペースのに半角スペースが入っていると動かない
□ 使い方
FlexPMDを導入したら、FlexPMD用の設定ファイルをダウンロードしておきましょう。下記サイトからダウンロードできます。
図4 FlexPMD設定サイト |
上記サイトでは設定のプライオリティ(Error、Warning、Info)の設定ができます。設定を無視する設定も、ここで行います。
このサイトからExport可能な設定ファイルはXMLなので、デフォルトの設定ファイルを保存しておいて、それをテキストエディタなど修正することも可能です。また、エラーメッセージなどが英語ですので、設定ファイルを編集して日本語に修正することもできます。
実行するのは、[パッケージエクスプローラー]上でプロジェクトを右クリックして[Run FlexPMD]を選択するだけです。FlexPMDを実行すると、下記のようにFlexPMDビューでエラーなどが表示されます。
図5 FlexPMDの実行 |
下記は、FlexPMDの実行イメージです。
図 6 FlexPMD(結果)ビュー |
この実行結果のイメージを見ると、FlexPMDの特徴の1つが分かります。FlexPMDの設定で「ルールに違反した場合にErrorにする」と設定した場合、赤いバッテンのErrorで警告され、その結果アプリケーションが実行できません!
ということは、警告を修正するまでアプリケーションがテストできず、結果、FlexPMDによる静的解析を開発者に対して強制できるようになります。
□ 注意点
基本的にプロジェクト開始時点からFlexPMDを導入していれば、警告は少量なので開発者は簡単に対応できます。ただし、プロジェクト終盤から導入したり、既存案件のソースコードを静的解析すると、大量の警告が出るので注意してください。
1-2-3 |
INDEX | ||
Flexフレームワークで変わるRIA開発の現場(6) Flex開発のテスト・品質向上でかなり使えるツール5選 |
||
Page1 Flex開発におけるテスト・品質向上ツールの充実 【1】単体テストツール「FlexUnit」 |
||
Page2 【2】コーディング規約を順守させる「Flex Formatter」 【3】コードを静的解析する「FlexPMD」 |
||
Page3 【4】シナリオベースのテストを自動で行う「QTP」 【5】Flash Builderの「プロファイラ」機能 基幹業務システム構築にも使える |
リッチクライアント&帳票 全記事一覧へ |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|