0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Posted at

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日目 テックブログを書くブログ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?