2012-03-25 3 views
17

私は次の方法があります。Java - メソッド注釈とともにjavadocを使用するための規約?

@Override 
    public boolean myMethod() 
    { 
     // do stuff 
    } 

私は、このメソッドのjavadocを追加したい場合は、@Override注釈(またはその他の注釈)を有するとともに、これを行う方法上の任意の規則はありますか?

javadocのコメントは、メソッドの直前にある必要があります(2つの改行なし)。@Override注釈のすぐ上にjavadocコメントを置くとどうなるか分かりませんものアップ。

これは、たとえばこれを行う従来の方法ですか?これは機能しますか?

/** 
    * This is my method's javadoc comment. 
    */ 
    @Override 
    public boolean myMethod() 
    { 
     // do stuff 
    } 
+5

いつもあなたの一人がいます。私は大会の内容を知りたかったのですが、それがうまくいくかどうかは分かりませんでした。 – Tim

答えて

16

はい、この方法は正しいですが、私はまだ別の方法を見ていませんでした。そして、はい、このように動作します。他の方法を試していない。

/** 
    * This is my method's javadoc comment. 
    */ 
    @Override 
    public boolean myMethod() 
    { 
     // do stuff 
    } 

しかし、インターフェイスを実装する場合は特に、基本的に私は通常、別のメソッドをオーバーライドするメソッドにJavadocコメントを追加しません。タグ@inheritDocは、大きな努力なしに文書を配布するのに役立ちます。しかし、これはこの例に固有のものです。他の注釈も追加することができます。

+0

私は、オーバーライドされたメソッドは文書化されるべきではないという意見に同意します。これは、実装されたインタフェースメソッドでは当てはまるかもしれませんが、オーバーライドされたクラスメソッドのドキュメントは、メソッドの動作において何が変更されたかを述べることができます。もちろん、 '@ inheritDoc' Javadocタグを使うことで多くの型を避けることができますが、IMOのドキュメントはオーバーライドされたメソッドでは削除しないでください。 – buc

+4

基本的に私はあなたに同意し、私の答えを更新しました。しかし、私はjavadocは**メソッドが何をしているのかを**文書化していると思います**どのように**行われています。何かの仕方を変えることはまったく問題ありませんが、そのような変更はスーパークラスによって定義された契約に違反してはならず、javadocを変更する必要があります。このため、すべてのメソッドにjavadocを記述する必要はありません。 – Markus

3

はい、正しく動作します。たとえば、openjdkのsource code of java.lang.Stringでは、@Deprecatedアノテーションの上にjavadocが使用されています。

関連する問題