どのようにフォーマットの優美なjavadocを書きますか?
6700 ワード
Javaソースを読んだことがあるなら、ソースの中の美しいjavadocを見たはずです.eclipseでは、マウスが任意の公有メソッドを指すと、戻り値、作用、例外タイプなどの詳細な説明が表示されます.
本文は主に『Thinking in java』の内容と私が仕事の中でjavadocを書いた経験から来ています.
3種類の注釈ドキュメント
アノテーションドキュメントには、クラス、ドメイン、メソッドの3つの要素に対応する3つのタイプがあります.すなわち、クラス注釈はちょうどクラス定義の前にある.ドメインコメントは、ドメイン定義の前にあります.メソッドアノテーションは、メソッド定義の前にあります.図に示すように、
javadocはpublicおよびprotectedメンバーにのみドキュメントコメントを行うことができます.privateとパッケージ内のアクセス可能なメンバーのコメントは無視されるため、出力結果には表示されません.出力結果を表示するには-privateを使用してタグを付けることができます.これは、ファイルの外で使用できるのは、共通のメンバーと保護されたメンバーだけです.上記のコードで生成されたHTMLドキュメントはブラウザで表示できます.
埋め込みHTML
JAvadocは、生成されたhtmlドキュメントを介してHTMLコマンドを転送し、HTMLを十分に利用できます.
本文は主に『Thinking in java』の内容と私が仕事の中でjavadocを書いた経験から来ています.
3種類の注釈ドキュメント
アノテーションドキュメントには、クラス、ドメイン、メソッドの3つの要素に対応する3つのタイプがあります.すなわち、クラス注釈はちょうどクラス定義の前にある.ドメインコメントは、ドメイン定義の前にあります.メソッドアノテーションは、メソッド定義の前にあります.図に示すように、
//: object/Documentation1.java
/** */
public class Documentation1 {
/** */
public int i;
/** */
public void f() {}
} ///:~
javadocはpublicおよびprotectedメンバーにのみドキュメントコメントを行うことができます.privateとパッケージ内のアクセス可能なメンバーのコメントは無視されるため、出力結果には表示されません.出力結果を表示するには-privateを使用してタグを付けることができます.これは、ファイルの外で使用できるのは、共通のメンバーと保護されたメンバーだけです.上記のコードで生成されたHTMLドキュメントはブラウザで表示できます.
埋め込みHTML
JAvadocは、生成されたhtmlドキュメントを介してHTMLコマンドを転送し、HTMLを十分に利用できます.
/**
*
* System.out.println(new date())
*
*/
///:~
の からも、 は されるので、System.out.println(new date())
というコードがあることがわかります.
コメントをHTMLコードでフォーマットすることもできます./**
* You can even insert a list:
*
* - item one
*
- item two
*
- item three
*
*/
///:~
のアスタリスクおよびその のスペースの はドキュメントに されません.また、javadocでタイトルラベルを しないでください.たとえば、
または
.これはjavadocが のタイトルを し、あなたのタイトルが する があるからです.
JAvadocラベル
1.@see: のクラスを
@seeラベルを すると、ユーザーが のクラスのドキュメントを できます.JAvadocは、 されたHTMLファイルに@seeタグで のドキュメントにリンクします.フォーマットは のとおりです.@see
@see
@see #
フォーマットには、 されたドキュメントにハイパーリンクの「See Also」( )エントリが に されます.javadocでは、 したハイパーリンクはチェックされず、 かどうかは されません.
2.{ @link package.class#member label }
このラベルは@seeと めて ていますが、 で され、「See Also」ではなく「label」をハイパーリンクテキストとして します.
3.{ @docRoot }
このラベルは、ドキュメントツリーページのハイパーリンクの に されるドキュメントルートディレクトリへの パスを します.
4.{ @inheritDoc }
このラベルは、 のクラスの も なベースクラスから、 ドキュメントを のドキュメントコメントに します.
5. @version
フォーマットは のとおりです.@version version-information
ここで、「version-information」は、バージョンの に した を します.Javadocコマンドラインに「-version」タグを すると、 されたHTMLドキュメントからバージョン が されます.
6. @author
フォーマットは のとおりです.@author author-information
「author-information」には、お 、 メールアドレス、またはその の な が まれています.Javadocコマンドラインに「-author」タグを すると、 されたHTMLドキュメントから が されます.
このようなタグは、 の に できますが、 に する があります.すべての は、 HTMLコードの の に に されます.
7. @since
このラベルでは、プログラムコードの の バージョンを できます. するJDKバージョンを するためにHTML javaドキュメントに されます.
8. @param
このラベルは、メソッドドキュメントで され、 のように します. @param parameter-name description
ここで、「parameter-name」はパラメータリスト の を し、「description」は の に く を す. しいドキュメントタグに すると、 の が したとみなされます.パラメータごとに1つずつ、 の の を できます.
9. @return
フォーマットは のとおりです.@return description
ここで、「description」とは、 り を する. ろの に くことができます.
10. @throws
フォーマットは のとおりです.@throws fully-qualified-class-name description
ここでfully−qualified−class−name descriptionは、 の で された クラスの な を える.descriptionは、この なタイプの がメソッド び しに れる を します.
11.@Deprecated
このラベルは、いくつかの いプロパティが された しいプロパティに って わられている で されます. い される が いため、ユーザーはこれらの いプロパティを しないことをお めします.@Deprescatedとマークされたメソッドを すると、コンパイラに が されます.
ソースコードの
JDK 8のequals
メソッドのコメントを てみましょう./**
* Compares this string to the specified object. The result is {@code
* true} if and only if the argument is not {@code null} and is a {@code
* String} object that represents the same sequence of characters as this
* object.
*
* @param anObject
* The object to compare this {@code String} against
*
* @return {@code true} if the given object represents a {@code String}
* equivalent to this string, {@code false} otherwise
*
* @see #compareTo(String)
* @see #equalsIgnoreCase(String)
*/
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
eclipseでの を てみましょう.
{@code} には されていませんが、 の はわかりやすく、スペースの の をコードに するスタイルです.
で で、メンテナンスしやすい を くには な が です. で にjavadocを う にも、ソースコードを んで、ソースコードの の き を するのもいい です.