コードスタイル; アノテーションの前または後にjavadocを置きますか?


184

私はそれが最も重要な問題ではないことを知っていますが、アノテーションの前後にjavadocコメントブロックを配置できることに気づきました。コーディング標準として何を採用したいですか?

/**
 * This is a javadoc comment before the annotation 
 */
@Component
public class MyClass {

    @Autowired
    /**
     * This is a javadoc comment after the annotation
     */
    private MyOtherClass other;
}

回答:


191

注釈の前、注釈はクラスに「属する」コードなので。公式ドキュメントのjavadocの例をご覧ください。

これは、別の公式Javaページで見つけたランダムな例です

/**
 * Delete multiple items from the list.
 *
 * @deprecated  Not for public use.
 *    This method is expected to be retained only as a package
 *    private method.  Replaced by
 *    {@link #remove(int)} and {@link #removeAll()}
 */
@Deprecated public synchronized void delItems(int start, int end) {
    ...
}

8
ここでも興味深い-注釈は、メソッドの他の修飾子と同じ行にあります。これまでに行われたことはありませんが、アノテーションはメソッドの他の修飾子と同様に扱う必要があることを示唆しているようです。そのため、javadocは必ずその前に置く必要があります。
ArtOfWarfare 2013年

8
ジャクソンのような重いアノテーションを使用している場合、同じ行に同じアノテーションを配置すると、すぐに手に負えなくなる可能性があります。私はそれ自身の行に各注釈を付けました。
WW。

17

私はすでに与えられた答えに同意します。

アノテーションはコードの一部ですが、javadocはドキュメントの一部です(つまり、名前です)。

したがって、私にとっては、コード部分をまとめておくのが妥当です。


11

それはすべて読み取り可能性に帰着します。私の意見では、メソッド/フィールドのすぐ上のアノテーションを使用すると、コードが読みやすくなります。


11

コーディング標準は別として、注釈の後に置かれた場合、javadocツールはjavadocコメントを処理しないようです。それ以外の場合は正常に動作します。


0

上記のすべてに同意します。IntelliJ(Idea)のコードスタイルテンプレートは、RestEasyスタイルを使用するときに、誤検知(@throwsが正しく指定されている場合は警告)と誤検知(@throwsが指定されていないが、そうする必要がある)の両方で失敗することは、他のユーザーにとって役立つ場合があります。注釈。私は自分のjavadocを何よりも優先し、次に注釈、そしてコードを配置します。

こちらのバグレポートをご覧くださいhttps : //youtrack.jetbrains.com/issue/IDEA-220520

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.