LoginSignup
3
0

More than 3 years have passed since last update.

KDoc メモ

Last updated at Posted at 2020-04-25

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() = ""
}

出力結果

image.png


image.png


image.png

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0