すばやくコードを読み解く - 型階層表示とオーバライドインジケータ

PDT 2.0ではコード中の要素から、型階層の表示(Type hierarchy)が可能となった。コード例として【コラム】FileMaker×PHPで作る、簡単・便利なWebアプリで使用しているFX.phpと、コラム内では触れていない筆者が作成したラッパクラスを使用して紹介しよう。

FXがオリジナルのクラス、FX_extが筆者が作成したクラスだ

型階層の表示では継承関係にあるクラスや関連するメソッドなどが解析された上で表示される。PHPファイルを開き、エディタで要素の上で右クリックをし「Open Type Hierarchy」を選択すると、Type Hierarchyビューが開いて継承関係にあるクラス、関連する変数とメソッドが表示される。

コード中のクラスを選択して右クリックし、Open Type Hierarchyを選択する

クラス「FX」と継承関係にあるクラス「FX_ext」、そして内包する変数名とメソッド名が一覧表示された。クラス名をクリックするとクラスを宣言しているファイルの該当行にジャンプする

このほか新機能としてオーバライドインジケータ(Override Indicators)が実装された。オーバライドを行っているメソッドの横には緑色の三角マークが表示される。オンマウスでどのクラスのメソッドが上書きされているかがツールチップで表示され、クリックすることでオーバライドされているクラスが記述されたファイルの該当行にジャンプする。複雑なクラスを読み解く際には嬉しい機能だと言えよう。

クラス「FX_ext」では継承元のメソッド「AddSortParam」をオーバライドしている。その横に緑色の三角マークが表示されている

緑色の三角マークをクリックすることで、継承元のクラスが宣言されたファイルのオーバライドされたメソッドまでジャンプすることが可能だ

パッと見で関連する要素がすぐわかる - Mark Occurrences

コードを書いている途中で変数名やメソッドなどを選択することで、選択した箇所に関連する変数名やメソッドすべてがハイライト表示(Mark Occurrences)される。変数名ならばその変数が使われている箇所すべて、メソッドならばメソッドが呼び出されている箇所すべてがハイライト表示される、といった具合だ。

うまく使えばパッと見でどことどこで似たような処理をしている、というのがすぐにわかるようになる。コーディング中だけでなく、コーディングが完了して、ある程度時間が経ちコードを見直したときに「ああ、こんな処理書いたっけな」と思い出すうえでも役立つ機能だ。

選択した要素がすべてハイライトと表示される

マークの対象はEclipse上部メニューよりWindow > Preferences > Mark Occurrencesよりカスタマイズすることが可能だ