Help us understand the problem. What is going on with this article?

KDoc メモ

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

penu
よわよわAndroidエンジニア
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした