2017-07-10 9 views
1

当社では、すべてのコメントを記述する必要があるという厳しい規則があります。このルールには、重複するテキストなどの弱点があります。重複するコメントを避けるために、私はクラスメンバにメソッドのパラメータを参照したいが、適切な解決策を見つけることができませんでした。JavaDocのクラスメンバーとメソッドパラメータのリンク

Iメソッドパラメータでクラスメンバをリンクし、メソッドパラメータを置い、

/** 
    * I would like to see this comment 
    */ 
    private int  lineNumber; 

    /** 
    * Creates a new {@link GroupByMetaData} object. 
    * 
    * @param aLineNumber {@link GroupByMetaData#lineNumber} 
    */ 
    public GroupByMetaData(int aLineNumber) 
    { 
    super(); 
    this.lineNumber = aLineNumber; 
    } 

次の結果があります。

enter image description here

これを達成するための適切な方法は何ですか?

+0

'@ see' maybe ??? –

+0

@RC。私はいくつかの記事を読んできましたが、ほとんどの場合、Javadocがクラスの目的をより明確に示してくれる密接に関連したクラスをリンクするには、seeタグを使用する必要があります。 – drJava

答えて

1

{@inheritDoc}を除き、1つのアイテムのjavadocを別のアイテムにコピーする方法はありません。{@inheritDoc}は、同じアイテムのスーパークラスのドキュメントからのみ挿入できます。

コンストラクタがプライベートintフィールドを設定するという事実は、内部実装の一部です。あなたのjavadocには、プライベートフィールドには、{@link}は言及すべきではありません。むしろjavadocは概念的にそれを記述するべきです。

通常、プライベートjavadocはパブリックjavadocと同じではありません。プライベートjavadocには、クラスの一般ユーザーには見せてはならない重要な実装の詳細が含まれます。例えば:

/** 
* Line of input this object will analyze. This is never negative. 
* Controls the loops in the `read` method and the `translate` method. 
*/ 
private int lineNumber; 
+0

lineNumberフィールドがプライベートではなくパブリックフィールドの場合、リンクする方法はありますか? – drJava

+0

私は恐れていません。 '{@inheritDoc} 'しかありません。 – VGR

+0

ありがとうございます。時には、それが不可能であることを知ることも有益です:) – drJava

関連する問題