3秒でわかる
実行されずコードに残せる説明文。処理の意図や当時の判断を書き残すためのもので、書き方は言語ごとに違っても目的は共通しています。
もう少し詳しく
どういうものか
コメントは、ソースコードに書いても実行されない文字列です。コンパイラやインタプリタは読み飛ばすので、人間に向けた説明をそのまま置けます。
書き方は言語ごとに決まっています。
| 言語 | 1 行 | 複数行 |
|---|---|---|
| Python | # | 専用構文なし。# を並べる |
| JavaScript / Java / C | // | /* */ |
| HTML | なし | |
| SQL | -- | /* */ |
| シェル | # | 専用構文なし |
なぜ必要か
コードは「何をしているか」を語りますが、「なぜそうしたか」は語りません。読めば分かることを繰り返すコメントは不要で、価値があるのは背景のほうです。仕様上その順序でなければならない理由、外部 API の癖に合わせた回避策、あえて遅い書き方を選んだ事情。これらは半年後の自分にも他人にも復元できません。
もう 1 つの用途が一時的な無効化です。動作を切り分けるために数行を実行対象から外す操作は、デバッグの基本手順として毎日使います。
具体例
# 1 行コメント。この行は実行されない
def calc_fee(amount):
'''手数料を計算する。
ドキュメンテーション文字列。help() や IDE から参照できる。
'''
# 決済会社の仕様で 1 円未満は切り上げ (2026-04 の規約改定に対応)
return -(-amount * 3 // 100)
# print(calc_fee(1000)) ← 動作確認用に一時的に無効化// 在庫 0 でも表示する。売り切れ表示を出す要件のため除外しない
const visible = items.filter((i) => i.published);Python の三重引用符 (シングル 3 つでもダブル 3 つでも可) はコメントではなく文字列です。関数やクラスの先頭に置いたものだけが docstring として扱われます。
つまずきやすいところ
i += 1 # i に 1 を足す は情報量がゼロです。書くなら足す理由を書きます覚え方
コメントは「未来の読み手への申し送り」です。何をしているかではなく、なぜこうしたかを書く。この一点だけ守れば、書きすぎも書かなすぎも防げます。