オーバーライドしたメソッドのJavadoc
前にid:daisuke-mに教えてもらってて、忘れそーだったのでメモ。
オーバーライドしたメソッドって、Javadocコメントを書く必要のないことがけっこうある。
# いや、ホントは書くべきなんだけど、めんどいこともあるし・・・。
Eclipseのデフォルトの場合、オーバーライドしたメソッドの
Javadocは、このようになる。
/* (non-Javadoc)
* @see jp.gr.java_conf.ykhr.test.Parent#hoge()
*/
でもこの記述だと問題があって、
- 元のクラス名やメソッド名を変更した場合に、このコメント部分まで変更してくれない。
- CheckstyleでJavadocがないよー警告が出る。
1つ目の問題では、この状態でもEclipseからJavadocを生成した場合は
親のJavadocを参照する(というよりは、Javadocがない場合は勝手に親を見る?)ので、
問題ではないけど、明らかに記述が間違っているので気持ち悪い。
そこで、こーすればいいってのを教えてもらった。
/**
* {@inheritDoc}
*/
この記述だと、親メソッドのJavadocを勝手にぱくってくれるし
先ほどの件が問題にならない。
※1.4から使えるタグみたいです。
で、以前の記述でJavadocを生成すると、そのメソッドの説明部分に
「クラス Parent の記述: 」と出るんだけど、{@inheritDoc}を使うとこの記述が出でない。
まさに、子に親と同じJavadocが書いてあるかのような現象になる。
親の記述をぱくっても知らんプリとはこれいかに(どうでもいい
というわけで、Eclipseの設定でオーバーライドメソッドのコメントは
このようになるように変更しておいた。