不要なコメントアウトを消す基準|残す/消す/一時退避の判断ルール3つ

※この記事にはアフィリエイトリンクを含みます。

はじめに:消したい。でも怖い。

不要なコメントアウトを見つけたとき、手が止まる理由はだいたいこれです。

「消していいか分からない」

「後で必要になったら怖い」

で、現場あるあるはこうなります。

一旦コメントアウトで残す

→ そのまま残る

→ ノイズが増殖する

結論から言うと、判断ルールを固定すると“怖さ”はほぼ消えます。

この記事では「残す/消す/一時退避」を迷わず決める基準を、最小でまとめます。

結論:基本は削除。迷ったら「一時退避」で逃がす。残すのは例外だけ。

次に読む
「一時退避」が正しいのは分かった。で、問題は『どう退避する?』です。 Gitがなくても回る /hold/ フォルダ運用(置き場・命名・期限)を最小テンプレでまとめました。
Gitなしでも履歴を残す:一時退避フォルダ運用(/hold/ルール)を読む →

ルールはこれだけです。

原則:コメントアウトは削除する

例外:残すなら「期限・理由・所有者」を必ず付ける

迷い:消せないなら、コメントアウトではなく「一時退避」に逃がす

要は『残すなら仕組みで残す』です。

前提:コメントアウトは“保管”じゃない

コメントアウトは、「履歴の代わり」になりません。

なぜなら、こうなるからです。

いつ消すべきか分からない

誰が残したか分からない

今の仕様と合っているか分からない

つまりコメントアウトは、時間が経つほど“毒”になります。

判断ルール(3分類)|残す / 消す / 一時退避

ここからが本題です。

見つけた瞬間に、次のどれかに分類します。

1.消す(原則)|「今の仕様で不要」なら即削除

これに当てはまったら、迷わず消してOKです。

削除してよい基準

  • そのコードは今の処理で呼ばれていない(実行されない)
  • そのコードは既に置き換えがある(新しい実装がある)
  • そのコードは一時対応の名残(暫定、検証、デバッグ)
  • そのコードは過去仕様の残骸(今の仕様に合っていない)

よくある例

  • if文まるごとコメントアウトして別ロジックに置き換えてる
  • 使われていない変数、古いSOQL、昔の処理分岐
  • デバッグログや一時的な回避コード

消す前に最低限やること(安心用)

  • 検索して同じ塊が他に無いか確認(コピペ重複を潰す)
  • 影響範囲の当たりをつける(呼び出し元の有無だけ見る)

「ちゃんと確認してから」じゃなくて、確認を“最小に固定”するのがコツです。

確認が重いほど、コメントアウトが増えます。

2.一時退避(迷ったらこれ)|「今は決められない」を隔離する

消すのが怖いとき、コメントアウトで残すのが一番まずいです。

正解は「別の場所に退避」して、見える形で保留にします。

一時退避にする基準

  • 仕様がまだ決まっていない(戻す可能性が高い)
  • 別担当の確認待ち(自分が判断できない)
  • リリース直前で触るのが怖い(時間がない)
  • 影響が読めないが、今すぐ消す必要もない

一時退避のやり方(Gitなしでも使える最小形)

  • /_hold/ や /backup/ フォルダを作ってそこへ退避
  • ファイル名に日付と理由を付ける

  • _hold/2026-02-11_removeCandidate_理由.txt
  • _hold/2026-02-11_oldLogic_beforeRefactor.cls

この形にすると、コメントアウトがコード本体に残りません。

つまり「読む人の視界」を汚さずに、保険だけ確保できます。

3.残す(例外)|残していいのは「期限付きのメモ」だけ

残すのは例外です。

残すなら、絶対に条件を付けます。

残していいコメントアウト(例外)

  • 将来の日付が確定している(例:○月の切替まで一時的に保持)
  • 既知の不具合回避で、削除すると即障害になる可能性がある
  • リリース手順上、切替のタイミングで戻す必要がある

残すときの条件(これがないなら残すな)

  • 期限:いつ消すか(例:2026/03/01まで)
  • 理由:なぜ残すか(例:外部連携切替待ち)
  • 所有者:誰が消すか(名前 or チーム)

テンプレ(これ以外は禁止)

// TODO(2026-03-01 / owner:東野): 外部連携切替完了後に削除。理由:旧APIのバックアップとして一時保持
// <ここにコメントアウトされたコード>

期限が書けないなら、残す資格がないです。

その場合は「一時退避」へ回します。

実務で迷わないための「5秒チェック」

コメントアウトを見つけたら、これだけ。

  1. 今の仕様で必要? → NOなら消す
  2. でも怖い? → 一時退避
  3. 期限が言える? → 言えるなら例外的に残す(期限・理由・所有者必須)

これで終わりです。

チームルールにするなら(最小の合意文)

運用で勝つには、禁止ではなく “型” で統一するのが早いです。

おすすめの1行ルール

  • コメントアウトは原則削除。保険は一時退避で持つ。残すなら期限・理由・所有者を必ず付ける。

これだけで、コードが静かに綺麗になります。

まとめ:コメントアウトは判断の先送り。先送りは増殖する。

コメントアウトが増えるのは、能力じゃなく仕組みの問題です。

判断基準を固定すれば、迷いは減ります。

原則は削除

迷ったら一時退避

残すのは期限付きの例外だけ

消して、保険は別で残す。

これが一番コスパがいい運用です。

おすすめの記事