🫠

ステージング検証時の落とし穴!コメントアウトに頼らない安全な開発フロー

2025/02/24に公開

1. はじめに

鹿児島でエンジニアをやっているtsurupです。
先日、ステージング環境で動作検証をする際に、実行前のレビュー依頼を出しました。その過程での学びを自分の魂に刻むための記事になります。

2. やったこと

  • ステージング環境での検証時に、特定のメソッドを実行しないように修正
  • 「マージ前に戻す」とコメントアウト & PRの説明にも注意書きを記載

class PaymentService
  def process_payment(params)
    # 実際にAPIを叩いてはいけない為、コメントアウトしています。
    # リリース時には戻します。
    # response = external_payment_api_call(params)
    
    response = { 'body' => { 'result' => { 'success' => true } } }
    response
  end
end

3. この方法の問題点

① レビュー者が意図を正確に把握できない

「マージ前に戻す」とコメントがあっても、どの部分をどう戻すのか明確でないと、レビュー者が正しく判断できません。

② 実装者本人も状態を誤認する可能性がある

タスクの差し込みや、検証がうまくいかずに修正を繰り返しているうちに、自分自身でもコードの状態を誤認することがあります。

③ 単純に戻し忘れるリスク

「絶対に戻す」と思っていたとしても、人は簡単に忘れてしまいます。たった1行の修正を戻し忘れたことで、思わぬトラブルにつながる可能性があります。

4. とった方法:検証用ブランチを作成する

今回のケースでは、リリースブランチから検証用のブランチを作成 し、専用の環境で検証を行うことにしました。

なぜこの方法が良いのか?

✅ 本番ブランチに影響を与えず、安全に検証できる
✅ 「マージ前に戻す」という不確実な作業をなくせる
✅ 他の開発者がレビューしやすくなる

5. ふりかえり:人は簡単に忘れる

この指摘を受けてから、いろいろな可能性が頭をよぎりました。
実際、複数のタスクを同時にこなしたり、相談を受けたりしている間に、メッセージへの返信を忘れたり、気付かないこともあるのが現実です。

「これは絶対に忘れない」と思っていても、簡単に忘れてしまう。むしろ、忘れることができてしまう。

たった1行の戻し忘れが原因で、とんでもない事態になりかねない ので、改めて肝に銘じておこうと思った日でした。

6. まとめ

検証時のミスを防ぐために、ブランチ運用を工夫することが大切!

コメントアウトや注意書きだけに頼らず、構造的にミスを防ぐ方法を考える!

おわりに

事故る前に指摘してもらえてよかった。
また、10行もないブログをここまでいい感じにしてくれたChatGPTに感謝です!
原文:朝活274日目 テックブログを書くブログ

Discussion