カテゴリ: Go言語 更新日: 2026/08/29

Go言語のコメント活用術!TODO・FIXME・ドキュメンテーションコメントの書き方

Go言語のコメント活用術!TODO・FIXME・ドキュメンテーションコメントの書き方
Go言語のコメント活用術!TODO・FIXME・ドキュメンテーションコメントの書き方

先生と生徒の会話形式で理解しよう

生徒

「先生、Go言語ではコメントってどうやって使うんですか?」

先生

「Go言語では、プログラムの中に説明を書いたり、メモを残したりするために『コメント』というものを使います。」

生徒

「ふむふむ。でも、コメントにはいろいろ種類があるって聞きました。例えば『TODO』とか『FIXME』ってなんですか?」

先生

「いいところに気がついたね。それぞれに意味があるんだ。今から順番に解説していこう!」

1. コメントとは?Go言語における基本の書き方

1. コメントとは?Go言語における基本の書き方
1. コメントとは?Go言語における基本の書き方

Go言語では、コードの中に人間向けの説明を書きたいときに「コメント」を使います。コメントはコンピューターには無視されるため、プログラムの動作や結果には影響しません。作業メモや意図の共有、後で見直すための印など、読み手に安心感を与えるためにも欠かせません。

コメントの書き方には2種類あります:

  • 1行コメント://から始め、その行の終わりまでがコメントになります。
  • 複数行コメント:/* */で囲み、途中で改行してもまとめてコメントになります(入れ子にはできません)。

まずは最小例で、1行コメントと複数行コメントの違いを確認しましょう。日本語で書いても問題ありません。


// これは1行コメントです(この行の終わりまでがコメント)

/*
これは複数行のコメントです。
説明を段落のようにまとめたいときに使います。
*/

次に、実際の小さなプログラムでの使いどころを見てみます。処理の目的、手順、注意点をコメントで添えると、後から読んだ自分や他の人が理解しやすくなります。


package main

import "fmt"

func main() {
    // 1) 目的:あいさつ文を表示する
    fmt.Println("Hello, Go!")

    /*
       2) 手順のメモ:
          - まずは画面に文字を出す
          - 次に名前付きのあいさつに発展させる(あとで)
    */

    // 一時的に無効化(コメントアウト)して動作確認もできます
    // fmt.Println("この行は実行されません")
}

ポイント:
・「なにを・なぜ」書いたかを短く先に示すと読み手が迷いません。
・/* */は入れ子不可なので、長い説明の中でさらに/* */を重ねないようにしましょう。
・不要になった情報は定期的に消し、最新の状態を保つと読みやすさが維持できます。

2. TODOコメントの使い方

2. TODOコメントの使い方
2. TODOコメントの使い方

TODOは、「あとでやる作業」を見落とさないための目印です。小さな改善メモから未実装の機能まで、やることの本質を短い言葉で残します。特にGoの学習初期は、考えている段取りをTODOで並べるだけでも作業が整理され、迷子になりにくくなります。

基本はシンプルでOKですが、誰が何をするかが一目で分かるとさらに親切です。

  • // TODO: ~する のように動詞から始める
  • 必要なら担当や目安を書く(例:TODO(yamada): ~、TODO: ~ by 2025-12-01)
  • 終わったら削除してコードを最新状態に保つ

// 例1:最小のTODO(短く具体的に)
func login() {
    // TODO: 入力値を空文字か確認する
    fmt.Println("ログイン処理")
}

次は、初心者でも真似しやすい「作業の段取り」をTODOで並べる例です。大枠→詳細の順に小分けにすると、手を動かしやすくなります。


package main

import "fmt"

func main() {
    // TODO: あいさつ文を取得して表示する
    // TODO(yamada): 名前を入力できるようにする
    // TODO: 例外時のメッセージを用意する(by 2025-12-01)

    msg := greeting() // 仮の実装
    fmt.Println(msg)
}

func greeting() string {
    // TODO: 時間帯でメッセージを切り替える(朝/昼/夜)
    return "Hello, Go!"
}

ポイント:
・TODOは「やること+理由」を短く書くと後で迷いません。
・粒度は作業単位が理想。大きすぎると進みが見えず、小さすぎると散らばります。
・終えたら消す/変更点が出たら更新する――この習慣だけで、Goのコメントとタスク管理がぐっと楽になります。

3. FIXMEコメントの使い方

3. FIXMEコメントの使い方
3. FIXMEコメントの使い方

FIXMEは、「いま問題がある」「このままだと不正な結果やエラーを招く」といった不具合の印に使います。あとで実装する予定を示すTODOと違い、現時点で壊れている/危ない箇所をはっきり目立たせる目的です。原因や暫定対応も一言添えると、読み返したときに素早く直せます。


// 例1:最小のFIXME(いまの問題点を示す)
func register(user string) {
    // FIXME: userが空だと不正登録になる
    fmt.Println("ユーザー登録:", user)
}

次は、初心者でも使いやすい「暫定対応(ワークアラウンド)+原因メモ」の形です。直したい本質と、とりあえず落ちないための対処を分けて書くと、作業が整理できます。


package main

import "fmt"

func main() {
    register("")   // 本来はエラーにしたいケース
    register("taro")
}

func register(user string) {
    // FIXME(yamada): 空文字のときは登録せずエラーを返す設計に変更する
    if user == "" {
        // 暫定対応:落とさず警告だけ出す(あとで正しくバリデーションへ)
        fmt.Println("[WARN] ユーザー名が未入力のため登録をスキップしました")
        return
    }
    fmt.Println("ユーザー登録:", user)
}

書き方のポイント:

  • 何が壊れているのかを短く明記(例:空文字で不正登録)。
  • 可能なら原因/方針を添える(例:バリデーション不足→関数内でチェックを追加)。
  • 担当や期限を入れると実務で便利(例:FIXME(yamada): ~ by 2025-12-01)。
  • 修正が終わったら必ず削除して最新状態に保つ。放置はバグ温床になります。

FIXMEは「ここは直さないと危ない」という道標です。問題点・理由・暫定対応の三点を短く残すだけで、Goのコードレビューも自己確認もずっとスムーズになります。

4. ドキュメンテーションコメントとは?

4. ドキュメンテーションコメントとは?
4. ドキュメンテーションコメントとは?

ドキュメンテーションコメントは、関数・メソッド・型(構造体・インタフェース)・パッケージの「公式説明」を書くためのコメントです。go docやgodocなどのツールが読み取り、自動生成ドキュメントにそのまま表示されます。コードの直前に置き、対象名で書き始めるのが基本ルールです。

  • 宣言の直前に書く(離すと別物として扱われます)。
  • 対象名から始めて、1文で要点を述べる(例:「Add は…」)。
  • 外部に公開する識別子(先頭大文字)は特に丁寧に書く。

// Add は 2 つの整数を受け取り、その合計を返します。
func Add(a int, b int) int {
    return a + b
}

型(構造体)にも同じように書けます。用途が一目で分かる短い説明にしましょう。


// User はアプリ内の利用者情報を表します。
type User struct {
    Name string // 表示名
    Age  int    // 年齢(年)
}

ファイル先頭では、パッケージ全体の説明も可能です。パッケージ名で始め、何を提供するのかを一文で。


// Package greeting はシンプルなあいさつ機能を提供します。
package greeting

// Hello は標準のあいさつ文を返します。
func Hello() string { return "Hello, Go!" }

コツ:
・最初の 1 文は「要約」。その後に必要なら 2 文目以降で補足します。
・主語を対象名にして機械にも人にも伝わる文にする。
・不要になった説明は更新し、コードと説明のズレを放置しない――それだけでドキュメントの信頼度が保てます。

5. コメントを書くときの注意点

5. コメントを書くときの注意点
5. コメントを書くときの注意点

コメントは多すぎても少なすぎても逆効果です。読み手が「何をしているコードなのか」「なぜこの書き方なのか」を理解できる程度に、簡潔で丁寧に書くことを心がけましょう。特に初心者は、後から見返したときに自分が迷わないよう、短いメモを残すだけでも大きな助けになります。

  • コードの目的が分かるように簡潔に書く
  • 「なぜこの処理が必要なのか」を補足する
  • やり忘れを防ぐためにTODOやFIXMEを付ける

また、コメントを読みやすくするために、コードとコメントの間に1行空けたり、関連する処理のすぐ上に書いたりすると、あとで見返したときに探しやすくなります。実際の例を見てみましょう。


package main

import "fmt"

func main() {
    // ユーザー名を設定(ここでは仮の名前)
    user := "Taro"

    // 名前を画面に表示する理由:ログ出力の確認用
    fmt.Println("ようこそ:", user)

    // TODO: 次は入力した名前を受け取れるように改善する
}

たった一言でも「意図」が書かれていると、未来の自分や他の人がスムーズに理解できます。逆に、何もコメントが無いと、動いていても「なぜそうしているか」が分からず混乱してしまうことがあります。小さなひと手間が、読みやすさと保守性の大きな差になるのです。

6. エディタやツールと連携して活用しよう

6. エディタやツールと連携して活用しよう
6. エディタやツールと連携して活用しよう

最近のプログラミング用エディタ(たとえばVisual Studio Codeなど)は、TODOやFIXMEと書いたコメントを自動で一覧表示してくれる機能があります。

例えば「TODOリストを表示するプラグイン」を入れると、どのファイルにTODOがあるか一目でわかるようになります。

これにより、やり残した部分や修正が必要な場所を忘れずに管理できます。

7. Goのコードを見やすくするコツ

7. Goのコードを見やすくするコツ
7. Goのコードを見やすくするコツ

初心者の方にとって、コメントは「自分が何をしているのか忘れないためのメモ帳」のようなものです。難しい単語で書かなくても、自分が理解できる言葉で十分です。

たとえば、次のようにしてみましょう。


// ユーザー名を表示する
fmt.Println("ユーザー:", userName)

「これは何をするコードなのか?」を1行で説明できるよう意識するだけでも、グッと分かりやすくなります。

まとめ

まとめ
まとめ

Go言語でコメントを書くという行為は、単なるメモではなく、後から読み返す自分自身や、同じプロジェクトに参加する仲間の理解を助ける大切な役割を持っています。特に大規模な開発や長期間にわたる開発では、コメントの質がそのままコードの読みやすさや保守性につながります。今回学んだ一行コメントと複数行コメントは、細かな処理の説明や補足に役立つ基本的な書き方でした。プログラムの流れを整理したり、意図を補足することで、未来の自分を助ける便利な道具となります。 また、TODOコメントとFIXMEコメントは、未完成部分や問題箇所を見逃さないための目印として活用できます。急いで作った処理や、仮で動かしているコード、後から必ず直さないといけない部分などに印をつけることで、プロジェクト全体の品質管理がぐっとしやすくなります。特にチーム開発では、コメントが残っているだけで、ほかの人が見たときに状況を理解しやすくなり、無駄な確認作業を減らすことができます。単純なメモのように思えて、実は効率化のための大きな力を持っていることがわかります。 さらに、ドキュメンテーションコメントは、関数や構造体の使い方を整理して伝える重要な仕組みでした。Go言語にはgodocという便利な仕組みがあり、コメントをそのままドキュメントとして活用できます。このような言語とツールの連携は、プログラミング初心者でも公式ドキュメントのような説明書を用意できる強い味方になります。コメントさえ丁寧に書いておけば、自動で読みやすく整理された解説が生成され、プロジェクトメンバーだけでなく、外部に公開する場合でも役立ちます。 コメントにも使いどころがあり、量が多過ぎると読み手が混乱し、逆に少なすぎると目的が伝わりません。読みやすい位置にほどよく配置し、コードの意図と理由が伝わるようにまとめることが大切です。また、プログラミング用エディタでは、TODOやFIXMEなどのキーワードを自動で一覧にまとめてくれる機能があります。小さな修正や、忘れがちな作業も一目で確認できるため、管理の効率はさらに高まります。 例えば、こんな風にコメントを書くだけで、意図がとても分かりやすくなります。


// TODO: データ保存処理を追加する
func saveData() {
    fmt.Println("データ保存")
}

/*
    FIXME: 計算結果がずれる原因を調査する
    現状は仮の値で動かしているため、正しい数値に修正する必要がある
*/
func calc() int {
    return 10
}

このように、Go言語のコメントは読みやすいプログラムを作るための大切な手段です。自分が迷わないため、仲間が困らないため、少しずつ書き足しながら整理していく習慣を持てば、プログラムを見る目が大きく変わります。わかりやすいコメントは、長く使われるソースコードにとって欠かせない要素で、ただ動かすだけのプログラムから、誰が読んでも理解できる丁寧なコードへと成長させてくれます。

先生と生徒の振り返り会話

生徒「コメントってただのメモだと思っていたけど、こんなに役に立つんですね。」

先生「そうなんだ。特にTODOとFIXMEは、作業の取りこぼしを減らす強い味方になるよ。」

生徒「ドキュメンテーションコメントも便利ですね。自動で説明書が作れるなんて驚きました。」

先生「読みやすく整理されたコードは、それだけで品質が高いと言えるんだ。コメントを意識して書くことで、プログラムの見通しが良くなるよ。」

生徒「よし、次からは何となく書くんじゃなくて、意味のあるコメントを残せるようにします!」

先生「その意識が大事だね。小さな意識の積み重ねが、読みやすいプログラムを育ててくれるよ。」

Go言語を基礎からスッキリ学びたい人や、 文法だけでなく「実用的な使い方」まで押さえたい人には、 定番の入門書がこちらです。

基礎からわかるGo言語をAmazonで見る

※ Amazon広告リンク

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Go言語のコメントはプログラムの動作に影響がありますか?

Go言語のコメントは人間が読むための説明なので、プログラムの動作には全く影響がありません。コンパイラはコメントを無視して処理するため、初心者が安心してメモを書いたり、処理の意図を残したりするために使えます。Go言語の学習では、正しいコメントの使い方を覚えることで、コードが読みやすく整理しやすい状態になります。

一行コメントと複数行コメントの違いは何ですか?

一行コメントは短い説明や簡単なメモを書きたいときに便利で、複数行コメントは長い説明をまとめたいときに役立ちます。Go言語では一行コメントと複数行コメントを使い分けることで、わかりやすいコードになります。初心者でも扱いやすく、整理されたプログラムを書くための基本になります。

Go言語のTODOコメントはどんなときに使えば良いですか?

TODOコメントは、あとで実装する予定の処理や、まだ作業が終わっていない部分を残すときに使います。Go言語の開発では、急いでプログラムを書く場面や、後から詳しく処理を追加したいときによく使われ、どこに作業が残っているかすぐに確認できます。
関連セミナーのご案内

【超入門】ゼロから始めるGo言語プログラミング:最速で「動くアプリ」を作るマンツーマン指導

「プログラミングの仕組み」が根本からわかる。Go言語でバックエンド開発の第一歩を。

本講座を受講することで、単なる文法の暗記ではなく、「プログラムがコンピュータの中でどう動いているか」という本質的な理解につながります。シンプルながら強力なGo言語(Golang)を通じて、現代のバックエンドエンジニアに求められる基礎体力を最短距離で身につけます。

具体的な開発内容と環境

【つくるもの】
ターミナル(黒い画面)上で動作する「対話型計算プログラム」や、データを整理して表示する「ミニ・ツール」をゼロから作成します。自分の書いたコードが形になる感動を体験してください。

【開発環境】
プロの現場でシェアNo.1のVisual Studio Code (VS Code)を使用します。インストールから日本語化、Go言語用の拡張機能設定まで、現場基準の環境を一緒に構築します。

この60分で得られる3つの理解

1. 環境構築の完全な理解

「なぜ動くのか」という設定の仕組みを理解し、今後の独学で詰まらない土台を作ります。

2. Go言語の基本構造(変数・型)

データの種類やメモリの概念など、他言語にも通じるプログラミングの本質を学びます。

3. 読みやすいコードの書き方

ただ動くだけでなく、誰が見ても分かりやすい「綺麗なコード」を書くための考え方を伝授します。

※本講座は、将来的にバックエンドエンジニアやクラウドインフラに興味がある未経験者のためのエントリー講座です。マンツーマン形式により、あなたの理解度に合わせて進行します。

セミナー画像

初めてのGo言語を一緒に学びましょう!

関連記事:
カテゴリの一覧へ
新着記事
New1
Kotlin
Kotlinのrunの使い方!スコープ内で処理をまとめるテクニック
New2
Kotlin
Kotlinの文字列を逆順にするreversedの使い方を徹底解説!初心者でもわかる文字列操作入門
New3
Kotlin
KotlinのtoList・toCharArrayの使い方を徹底解説!文字列をリストに変換する方法を初心者向けにやさしく説明
New4
Kotlin
Kotlinの拡張プロパティとは?基本的な作り方と活用例を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
C#
C#プログラムの基本的な書き方を完全解説!初心者でもわかる文法入門ガイド
No.2
Java&Spring記事人気No2
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.3
Java&Spring記事人気No3
Swift
Swift入門ガイド|基本構文と書き方をマスターしよう
No.4
Java&Spring記事人気No4
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.5
Java&Spring記事人気No5
C#
C#の論理演算子の使い方を完全ガイド!&&・||・!を初心者でもわかりやすく解説
No.6
Java&Spring記事人気No6
Kotlin
Kotlinのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.7
Java&Spring記事人気No7
Kotlin
KotlinでZIPファイルの圧縮と解凍を実装する手順を完全解説!Kotlinファイル操作と入出力I/O入門
No.8
Java&Spring記事人気No8
Swift
Swiftでユーザー向けエラーメッセージ設計を徹底解説!iOSアプリのUI/UXで注意すべきポイント

💻 作業効率アップに

ノートPCを縦置きしてデスクを広く。
省スペースで片づく定番スタンド

UGREEN 縦型スタンドをAmazonで見る

※ Amazon広告リンク