コードのバグ対応・調査方法
概要
- プロダクトとしてリリースしたモデルやシステムにバグがありそうな時の調査方法と、バグを発見した時の修正方法
バグの調査
- BigQueryなどのデータウェアハウスのログを用いて、バグがない場合の期待する動作と、バグが有る場合の期待する動作が確認できる集計を行う
- ここで大まかな仮説検証を行える
- バグの現象の解像度を高めて、コードの部分の推定しやすくする
- 逆に言うと、データウェアハウスがないと、バグの仮説検証のハードルが上がることになるので、ロギングは重要な要素になる
コードの修正
- 前提
- gitで管理されていると仮定
- 環境構築
- 開発環境とは別にクリーンな環境を作る
- tmuxのwindowを切り、今の開発フォルダとは別のディレクトリで作業を開始する
- 開発中のディレクトリと混ぜるべきではない
- 具体的な手順
mkdir fix-foo-bar; cd fix-foo-bar
git clone git@github.com:<team>/<project.git>; cd <project>
git branch fix-foo-bar
git checkout fix-foo-bar
- 最小限の修正で直して、テスト
git add <filename>
git commit -m <message>
git push --set-upstream origin fix-foo-bar
- WebUIでpull requestsを行い、必要な人をアサイン
- slack等でバグとそれに伴うエラーを報告し、周知
- 関係メンバーの合意が取れ次第、main(リリース)ブランチにマージ