NetBeansにJavaのソースコードをチェックするSQEプラグインを入れるとかなり便利ですね。バグや推奨しない書き方などをチェックして教えてくれます。
NetBeansのSQEプラグインによるソースコードチェックのメモ
□ NetBeansのSQEプラグインに含まれる機能
* FindBugs
Javaコードにあるバグの発見と解析。
* PMD
Javaコードにある潜在的な問題の発見。未使用の変数やプライベートメソッドの
チェックや、コードの重複、空のtry/catch/finally/switchなどのチェックが行える。
* CheckStyle
コーディング基準に沿ったJavaコードを書いているかのチェック。
* Dependency Finder
コンパイル済みのJavaコードから依存関係の解析。
□ SQEプラグインのインストール方法
下記の方法は、NetBeans 6.7以上のバージョンが必要になります。
1. プラグインマネージャへのURLの追加
NetBeansのメニューから、「ツール」→「プラグイン」を開きます。
「設定」タブを開き、「追加」ボタンを押して出てきたダイアログで
下記のように入力した上で、「了解」ボタンを押して登録してください。
* 名前 :「SQEソフトウェア品質チェック」などのように任意の名前
* URL : http://deadlock.netbeans.org/hudson/job/sqe/lastStableBuild/artifact/build/full-sqe-updatecenter/updates.xml
2. SQEプラグインのインストール
「使用可能なプラグイン」タブを開き、「カタログを再読み込み」ボタンを押します。
右上の検索ボックスに「SQE」と入力して表示されたプラグインのうち
インストールしたいものにチェックを入れます。
「インストール」ボタンを押し、指示に従ってインストールを進めます。
完了の旨のメッセージが出れば、SQEのインストールは終了です。
□ SQEの使い方
ソースコードチェックを行いたいプロジェクトを開いた状態で、NetBeansのメニューから
「ウィンドウ」→「Quality」→「Quality Control Center」を開きます。
ウィンドウ左側のツールバーに「Quality Control Center」タブが追加されているので開きます。
Projectsカテゴリでソースコードチェックを行うプロジェクトを指定し
Controlカテゴリの一番左にあるアイコンを押して、FindBugs/PMDのチェックを行います。
チェックにはしばらく時間がかかりますが、チェックが完了すると問題点の数のグラフや
問題点の履歴などが表示され、ウィンドウ右下のペインにチェック結果が表示されます。
チェック結果を開き、ダブルクリックすることで該当の問題箇所にアクセスする
こともできます。また、コードエディタの左にPMDの警告アイコンなども表示され
ALt+Enterキーで詳細内容を開くことができます。
□ チェック項目のカスタマイズ
問題点の数が多すぎたりチェックに時間がかかるので、FindBugsやPMDでチェックする項目を
絞り込みたい場合は、NetBeansのメニューから「ツール」→「オプション」→「Quality」タブを
開いて、不要な項目のチェックを外します。
FindBugsの場合は、チェック速度(Speed)としてfast/moderate/slowの
項目が表示されているので、実行に時間がかかる場合はslowのチェック項目を
外すと良いかもしれません。
□ Linux環境でFindBugsのメッセージが文字化けする問題の対応例
FindBugsのメッセージは日本語化されていますが、文字コードがSJISのため
Linux環境などでは文字化けして表示されます。
そのため、Linux環境などでは下記の手順で日本語メッセージをUTF-8に
変換する必要があります。(下記の例ではNetBeans 6.9)
(必要に応じて~/.netbeans/6.9/modules/ext/findbugs.jarのバックアップをとっておくこと)
$ mkdir ~/temp/
$ cd ~/temp/
$ jar xvf ~/.netbeans/6.9/modules/ext/findbugs.jar
$ nkf -w --overwrite messages_ja.xml
$ jar cvf ~/.netbeans/6.9/modules/ext/findbugs.jar .
$ rm -rf ~/temp/
□ 参考URL
Project Kenai - Software Quality Environment
http://kenai.com/projects/sqe/pages/Home
マイコミジャーナル - 絶対使うべき! FindBugsでBug退治
http://journal.mycom.co.jp/articles/2006/09/23/findbugs1/index.html