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