What's New in IntelliJ IDEA 5.0

Module Dependency Viewerという機能に惹かれてIrida EAP(#3386)をダウンロードしました。これは従来からあるAnalyze機能を拡張したもので、対象プログラムのパッケージ名とそれが依存しているライブラリ・パッケージ名の依存関係を解析してくれるという優れものです。

たとえば、EJBのプログラミングをしていて、javax.namingのパッケージに依存している部分をEJB 3のDependency Injectionに変更しようとする場合を考えてください。クラスを選択してAnalyze>Dependenciesメニューを実行するとDepedency Viewer Windowが開きます。そのウィンドウ上にはEJBのソースとjavax.namingの依存関係が解析済みで、javax.namingのノードを選択するとEJBソース上のnew InitialContext()といったコードを簡単に検索することができます。

ライブラリ間の依存関係には日頃から注意したいものです。A->B->Cという依存関係があると、Cのコード変更がBやAにまで及ぶ可能性があります。モジュール間のインタフェースが変更されなければ良いというものではなく、Cの持つ機能のバグは、当然その利用モジュールにもおよびますから、バグ修正したときのテストの範囲に影響します。だから、IDEA 5.0が提供するような依存性解析機能があるととっても便利です。