Kotlinのコメントアウトについて

採用はこちら

Kotlinにおけるコメントアウトは、単なる「コードの無効化手段」ではありません。

可読性・保守性・チーム開発効率を左右する重要な要素です。

本記事では、

  • Kotlinのコメントの種類
  • KDoc(ドキュメントコメント)の正しい使い方
  • 実務でのベストプラクティス
  • よくある誤解と注意点

正確性重視で体系的に解説します。

目次

Kotlinのコメントアウトは3種類ある

Kotlinには、用途の異なる3種類のコメントがあります。

行コメント(単一行コメント)

// これは行コメントです
val count = 10 // 行末にも書けます

特徴

  • // から行末までがコメント
  • 最も頻繁に使われる形式
  • 短い補足説明や一時的な無効化に適している

主な用途

  • 処理の意図の補足
  • デバッグ時の一時コメントアウト
  • TODOメモ

ブロックコメント(複数行コメント)

/*
  複数行に
  またがる
  コメント
*/

特徴

  • /**/ で囲まれた範囲がコメント
  • 複数行をまとめてコメントアウトできる
  • Kotlinではブロックコメントのネスト(入れ子)が可能
/*
  外側のコメント
  /*
    内側のコメント
  */
*/

これはJavaとの明確な違いで、既存のブロックコメントを含むコードを安全に無効化できるという利点があります。

※なお、文字列リテラル(" """" """)内の /* はコメントとしては扱われません。

ドキュメントコメント(KDoc)

/**
 * ユーザー名を取得する
 *
 * @param userId ユーザーID
 * @return ユーザー名
 */
fun getUserName(userId: Int): String {
    return "Taro"
}

/** から始まるコメントは KDoc として扱われます。

これはKotlin公式のドキュメント形式で、Javadocに相当します。

KDoc(Kotlinドキュメントコメント)とは何か

KDocは、人間向けの説明とツール向けの構造を両立したコメントです。

KDocの主な特徴

  • IDEの補完・クイックドキュメントに表示される
  • APIの仕様・意図を明確にできる
  • Dokkaなどのツールと組み合わせてドキュメント生成が可能

よく使われるKDocタグ

タグ用途
@param引数の説明
@return戻り値の説明
@throws例外の説明
@propertyプロパティの説明
@constructorコンストラクタの説明
@sample使用例コードへの参照
/**
 * ユーザーを表すデータクラス
 *
 * @property id ユーザーID
 * @property name ユーザー名
 */
data class User(
    val id: Int,
    val name: String
)

※タグの表示や反映のされ方は、IDE設定やドキュメント生成ツールによって多少差が出る場合があります。

TODO / FIXME などの特別なコメント

IntelliJ IDEA や Android Studio では、特定のキーワードを含むコメントが認識されます。

// TODO: エラーハンドリングを追加する
// FIXME: nullチェックが不完全
// NOTE: パフォーマンスに注意

ポイント

  • TODOFIXME は多くの環境で標準的に検出される
  • TODOビューで一覧管理できる
  • 検出対象のキーワードはIDE設定でカスタマイズ可能
  • NOTE などは環境や設定によって扱いが異なる場合がある

実務でのコメントの書き方

悪い例(コードの内容をそのまま説明)

// iに1を足す
i++

→ コードを見れば分かることはコメントしない

良い例(「なぜ」を説明)

// バックエンド仕様によりnullが返る可能性がある
val name: String? = response.name

コメントは「何をしているか」ではなく「なぜそうしているか」を書くのが原則です。

コメントアウトでよくある問題点

コメントアウトされたコードを放置する

// val result = oldLogic()
  • 不要になったコードは削除する
  • コメントアウトは一時的な手段に留める

コメントと実装の乖離

// ユーザーIDを取得
val userId = user.name
  • リファクタ時にコメントを更新し忘れると、最も危険な状態になる
  • コード変更時はコメントも必ず見直す

KDocと実装の不整合

  • 引数名変更後に @param を修正していない
  • 返り値仕様変更を反映していない

IDEでよく使うコメント関連ショートカット

操作ショートカット
行コメント切替Ctrl + /
ブロックコメント切替Ctrl + Shift + /
KDoc雛形生成/** + Enter

※macOSやカスタムキーマップでは異なる場合があります。

Kotlinらしい考え方:コメントを減らす書き方

Kotlinは、コード自体が意図を表現しやすい言語です。

// ❌ コメントに頼る
if (x == null) {
    return
}

// ✅ Kotlinのイディオム
x ?: return

理想的な状態は、

  • コードで8割を語る
  • コメントで残り2割(理由・背景)を補足する

まとめ

  • Kotlinのコメントは「行・ブロック・KDoc」の3種類
  • ブロックコメントはネスト可能
  • KDocは設計意図・API仕様の共有に不可欠
  • TODO / FIXME を使うと保守性が向上する
  • コメントは「なぜ」を書く
  • 不要なコメントアウトは残さない

Kotlinでは、コメントは単なる補足ではなく、コード品質の一部です。

正しく使えば、読みやすさ・保守性・チーム開発効率を大きく高められます。

以上、Kotlinのコメントアウトについてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次