オーバーライドしたメソッドのJavadoc

前にid:daisuke-mに教えてもらってて、忘れそーだったのでメモ。


オーバーライドしたメソッドって、Javadocコメントを書く必要のないことがけっこうある。
# いや、ホントは書くべきなんだけど、めんどいこともあるし・・・。


Eclipseのデフォルトの場合、オーバーライドしたメソッドの
Javadocは、このようになる。


/* (non-Javadoc)
* @see jp.gr.java_conf.ykhr.test.Parent#hoge()
*/


でもこの記述だと問題があって、

  1. 元のクラス名やメソッド名を変更した場合に、このコメント部分まで変更してくれない。
  2. CheckstyleJavadocがないよー警告が出る。

1つ目の問題では、この状態でもEclipseからJavadocを生成した場合は
親のJavadocを参照する(というよりは、Javadocがない場合は勝手に親を見る?)ので、
問題ではないけど、明らかに記述が間違っているので気持ち悪い。


そこで、こーすればいいってのを教えてもらった。


/**
* {@inheritDoc}
*/


この記述だと、親メソッドのJavadocを勝手にぱくってくれるし
先ほどの件が問題にならない。
※1.4から使えるタグみたいです。



で、以前の記述でJavadocを生成すると、そのメソッドの説明部分に
「クラス Parent の記述: 」と出るんだけど、{@inheritDoc}を使うとこの記述が出でない。
まさに、子に親と同じJavadocが書いてあるかのような現象になる。
親の記述をぱくっても知らんプリとはこれいかに(どうでもいい


というわけで、Eclipseの設定でオーバーライドメソッドのコメントは
このようになるように変更しておいた。