インターフェースクラスが多用されたソースの追い方

9月も終わり、ようやく涼しくなってきました。
まだエアコン無しでは寝苦しい感じではありますが、大分過ごしやすくなったと言って良いでしょう。
何かやるなら今、という感じです。


さて、表題の件です。

Javaに限らず、プログラムには「継承」という概念があります。
いわゆる、定義だけ作っておいて、似た機能を持つクラスを複数作っていくやつですね。
規模が小さいプロジェクトではあまり使わないので、個人的にはちょっと忘れがちな概念です。

しかし逆に言うと、規模が大きいプロジェクトではよく使われているとも言えます。
オープンソースのプログラムでも良く見かけます。
そして最近、この継承というか、インターフェースクラスが多用されたソースを読み解く必要が
出てきて、多少手間取る事になりました。

他人が作成したソースを机上デバッグで追う際、関数の定義を追うことはよくあると思いますが、
上記のような構成のプロジェクトだと、素直に定義を追っていった場合インターフェースクラスに到達します。

↑(大抵のエディタでは、Ctrl + 関数をマウスクリックで定義に飛ぶかと思います)

ではどうやって関数実装部分にたどり着けば良いのか。
最初はソース全体をGrepして追っていましたが、VSCodeの右クリックメニューにこんな項目がありました。

この項目を選択すると、処理が実装されている関数が検索され、その結果が表示されます。
eclipseで同様の事を行う場合、Ctrl + Tで良いようです。

継承、特にインターフェースクラスが使われているプロジェクトでは覚えておきたい操作だと思いました。

以上