Eclipse での javadoc 入力
Eclipse で
/** ← ここで Enter キーを押して改行する public int foo(int x) { return x + 1; }
のように javadoc コメントを入力開始すると、補完されて、
/** * * @param x * @return */ public int foo(int x) { return x + 1; }
のようになるが、たまにこうならずに、
/** * */ public int foo(int x) { return x + 1; }
と、そっけない補完になることがある。この違いが分からなくてかなり悩んだが、これは、メニューバーの、ウィンドウ→設定→Java→コード生成→コードとコメント、の中の「メソッド」と「メソッドのオーバーライド」の違いに起因するらしい。そして、これは javadoc が 1.4 から機能拡張されたことでそうなっているようだ。
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/javadoc/whatsnew-1.4.html#individuallyinherited
フォーマッタツールとしての javadoc とは別にして、コメントとしての javadoc として考えた場合、やはりオーバライドするメソッドには @param や @return は書かなくて良いものだろうか、悩む。たしかに、オーバライドするからには、スーパタイプ側ですでに引数や返り値の意味が規定されているので、オーバライドしたサブタイプ側でわざわざ書き直すのもムダなことは分かるのだが。