Goのテスト実行時に TestMain がどうやって呼び出されるのか気になった。
処理順を追ってみようと思ったが、「Go本体のコードを読む」となると腰が重かった。
Copilotに助けてもらったことで、予想以上に楽しく進めることができた。
以下のような流れで進めた。
golang/goをforkして、ローカルにgit cloneするgo testが実行されたときの処理順を GitHub Copilot Chat に質問cmd/go/internal/test/test.goを起点に、Copilotに補助してもらいながら読み進める- 処理フローを雑にメモする
- メモした処理フローをCopilotに清書してもらう
- 清書された内容の理解が合っているかCopilotに確認してもらう
- 理解が正しいか検証するため、ログ出力やテスト実行をしたくなったので、Copilotに手順を相談
- 実際にログやテストを動かして、自分の理解を確かめる
特に7と8が大事だと思っている。
AIに任せきりだと、正しい自信が持てない。どこかで誤解している可能性がある。
最終的に自分で実行して確認することで、安心できた
Copilotのサポートがなかったら、何時間かかっていたか分からないし、 そもそも着手すらしていなかったかもしれない。
Copilot、ありがとう。