KDoc とは
JavaのJavaDocに相当する、Kotlinのドキュメンテーションコメントからドキュメントを生成する仕組み。
参考:https://kotlinlang.org/docs/reference/kotlin-doc.html
構文
/**
と*/
で囲み、その間の行は*
で始まる。
最初の空白行までのブロックは要素の概要説明、次のブロックは詳細説明。
ブロックタグは新しい行で@
から始まる。
ブロックタグ
タグ | 内容 |
---|---|
param | クラス・関数のパラメータ・型引数 |
return | 関数の戻り値 |
constructor | クラスのプライマリコンストラクタ |
receiver | 拡張関数のレシーバ |
property | クラスのプロパティ |
throws | メソッドがスローする例外 |
exception | メソッドがスローする例外 |
sample | 要素の使用例を関数で示す |
see | クラス・メソッドのリンク |
author | 要素の作成者 |
since | 要素が導入されたバージョン |
suppress | 要素をドキュメントから除外する |
サンプルコード
KDocMemo.kt
package com.example.kdocsample
/**
* クラスの説明
*
* クラスの詳細な説明
*
* @see X
* @see X.y
* @see X.z
*
* @author 作成者の名前
*
* @since 導入されたバージョン
*
* @param T 型変数の説明
*
* @constructor プライマリコンストラクタの説明
*
* プライマリコンストラクタの詳細な説明
*
* @param a プライマリコンストラクタの引数の説明
*
* @property b プロパティの説明(プライマリコンストラクタ)
*/
class KDocMemo<T> (a: Int, val b: Int) {
/**
* セカンダリコンストラクタの説明
*
* セカンダリコンストラクタの詳細な説明
*
* @param a セカンダリコンストラクタの引数の説明
*/
constructor(a: Int) : this(a, a)
/**
* プロパティの説明(クラス内宣言)
*/
val c = 1
/**
* メソッドの説明
*
* @receiver レシーバの説明
*
* @param d メソッドの引数の説明
*
* @return メソッドの戻り値の説明
*
* @throws Throws 例外の説明
* @exception Exception 例外の説明
*
* @sample sample
*/
fun method(d: Int, e: Int.() -> Unit) = 2
/**
* @suppress ドキュメントから除外
*/
fun suppressMethod() = Unit
}
fun sample() {
val memo = KDocMemo<Int>(1)
memo.method(2) {}
}
class X {
val y = ""
fun z() = ""
}
#出力結果