前回まででフォームデザイナーの実装が完了しました。最終回の今回は連載を通してEclipseプラグインを開発してきた経験をもとに,もう一度そのメリットについて考えてみたいと思います。また開発に役立つサイトや書籍,プラグインを紹介していきます。
Eclipseプラグインを開発するメリット
第1回で,Eclipseのプラグインを開発するメリットを下記のように挙げました。
- 既にあるプラグインをカスタマイズすることができる
- 目的に合うプラグインがない場合,自分で開発することができる
- プラグイン開発の知識をEclipse RCP(リッチクライアント環境)の開発に応用することができる
私は上記に加えて「学習効果」を挙げることができると考えています。今回フォームデザイナーを実装するにあたり,PDE(Plug -in Development Environment)のマニフェストエディターやEclipse Formsのソースコードを見てきましたが,その実装はとても参考になるものでした。
例えば,第5回で解説したPDEFormEditorクラスのaddPages()メソッドの実装には,GoFのTemplate Methodパターンが使用されています。またManagedFormクラスでは,Master(一覧)とDetials(詳細)の間の変更通知を行うための仕組みとしてObserverパターンが使われています。このようにEclipseの実装はデザインパターンを有効に活用しており,その実例として大変参考になるものです。
こういった観点からEclipseプラグインを開発する(Eclipseのソースコードを読む)ということは,オブジェクト指向開発の実装力を高める効果があるといえるでしょう。
開発に役立つプラグイン
ここでは開発に役立つプラグインをいくつか挙げてみます。Plug-in Spy以外はプラグイン開発以外のJava開発でも有効ですので,ぜひ試してみてください。
Plug-in Spy
Plug-in Spyはビューやエディター,ダイアログ上でAlt+Shift+F1を押すと,実装しているクラスやプラグインの情報をポップアップウィンドウで表示してくれる大変便利なプラグインです。ポップアップウィンドウのクラス名のところがリンクになっており,それをクリックするとソースコードを参照することができるので,ビューやエディターの実装方法を簡単に調べることができます。
Plug-in Spyは次期バージョン3.4(Ganymede)で標準搭載されるプラグインですが,日本のkojihashiさんがEclipse 3.3でも使用できるようにパッチを公開してくださいました。下記URLにはインストール可能なZIPファイルもありますので,ぜひお試しください。
Metrics
Javaのソースコードをライン数,パッケージ数などさまざまな観点から計測してくれるプラグインです。ソースコードが複雑になりすぎていないかを客観的に調べるのに重宝します。今回の連載で実装したフォームデザイナーを計測したところ,「Nested Block Depth」と「McCabe Cyclomatic Complexity」のふたつの項目で問題があることがわかります。
Mectrics は下記の更新サイトからインストールすることができます。
Checkstyle
プロジェクトでコーディングルールを決めることはよくありますが,それを徹底するのは容易なことではありません。開発者も人間ですから間違うこともありますし,間違えても動作するため問題が表面化しません。保守のフェーズでコーディングルールを知らない人によって,少しずつ壊されていくということもあります。
Checkstyleは決められたルールに従っていない部分を警告として表示してくれるので見落とすことがありません。また独自のチェック構成を作ることができるので,プロジェクト独自のコーディングルールを作ることも可能です。

