一年間のプルリクを見返してみる
先日、業務の一環で 1年間に出したプルリクをざっと見返す機会 がありました。
過去のコードを見返すのは、少し気が乗りません。
今の自分から見ると、
- なんでこんな書き方をしたんだろう
- この命名、もう少し考えられたのでは
- レビューでこんな指摘を受けていたのか
みたいに、少し恥ずかしい気持ちになりそうだからです。
でも実際に見返してみると、思っていたよりも得るものが多くありました。
今回は、プルリクを定期的に見返すことは、単なる反省会ではなく、自分の成長や実装の癖を確認するためのよい材料になる という話を整理してみます。
プルリクには、そのときの自分の判断が残っている
プルリクは、ただの差分ではありません。
そこには、そのときの自分が何を考え、どこで迷い、どんな判断をしたのかが残っています。
コードの差分だけでなく、
- タイトル
- 説明文
- レビューコメント
- 追加コミット
- 修正の流れ
- レビュアーとのやり取り
まで見ると、当時の自分の思考が見えてきます。
GitHubの公式ドキュメントでも、プルリクでは変更差分を確認し、必要に応じてコメントやレビューを行う流れが説明されています。
GitHub Docs: Reviewing proposed changes in a pull request
つまりプルリクは、実装の成果物であると同時に、意思決定とフィードバックの履歴 でもあります。
ここを見返さないのは、少しもったいないなと感じました。
「えっ、これ自分のコード…?」と思えるのは成長している証拠
1年前のプルリクを見て最初に感じたのは、
「こんなコードを書いていたっけ?」という驚き でした。
当時は自分なりにベストだと思って書いていました。
ただ、今見ると、
- 責務の分け方が少し曖昧
- 命名に意図が出ていない
- 条件分岐の置き場所が気になる
- テスト観点が薄い
- 説明文が短く、背景が伝わりにくい
といった違和感が見えてきます。
これは少し恥ずかしい反面、悪いことではないと思っています。
むしろ、今の自分が違和感を持てるということは、当時よりも見える範囲が広がっている ということです。
過去の自分を責めるためではなく、今の自分が何を見られるようになったのかを確認する。
そう捉えると、昔のプルリクは良い教材になります。
レビューコメントの変化を見ると、成長がより見えやすい
さらに面白かったのは、レビュアーからのコメントの変化です。
以前は、
- ここの処理、もう少し簡潔にできますよ
- この命名だと意味が伝わりにくいです
- ここはこうしてください
といった、比較的具体的な修正コメントが多かった印象があります。
もちろん、こうしたコメントはとてもありがたいものです。
当時の自分に足りなかった観点を、はっきり教えてくれていました。
一方で最近は、
- このロジックは読みやすいです
- ここはどちらの設計方針に寄せるべきでしょうか
- 今後の拡張を考えると、どこに責務を置くのがよさそうですか
のように、議論の粒度が少し変わってきた感覚があります。
単純な直し方の話だけではなく、設計方針や意図の話が増えてきた。
これは、自分が完璧になったという話ではありません。
ただ、レビューで問われる内容が変わってきたことは、成長を実感する一つの材料になると思います。
「無意識に良いだろう」と思って書いた実装は、だいたい良くない でも触れましたが、実装では「なぜそうしたのか」を説明できることが必要です。
過去のレビューコメントを見返すと、自分がどのあたりで意図を言語化できていなかったのかも見えてきます。
見返すときは、コードの良し悪しだけを見ない
プルリクを見返すとき、ついコードの良し悪しだけに目がいきます。
もちろんそれも見たいです。
ただ、振り返りとして見るなら、もう少し広く見たほうが得るものが多いです。
例えば、私は次のような観点で見るとよさそうだと感じました。
- PRの説明文で、背景や目的を説明できていたか
- レビュアーがどこで迷っていたか
- 自分はどの指摘に何度も引っかかっていたか
- 修正コミットが多くなった原因は何か
- テストや動作確認の観点は十分だったか
- 今ならどう分割するか
特に「何度も同じような指摘を受けている箇所」は、自分の癖が出やすい場所です。
命名なのか、責務分離なのか、テストなのか、説明不足なのか。
ここが見えてくると、次のプルリクで意識するポイントが具体的になります。
プルリクの振り返りは、未来の自分へのドキュメントになる
プルリクを見返して終わりにするのもよいですが、できれば軽くメモに残しておくと後で助かります。
大げさな振り返り資料でなくてもよくて、
# 今月のプルリク振り返り
- 良かったこと
- PR説明に背景を書けるようになってきた
- レビュー前にセルフチェックできた
- 何度も指摘されたこと
- 命名が抽象的になりがち
- テストケースの境界値が薄い
- 次に意識すること
- PRを出す前に「なぜこの設計か」を1文で書く
- 影響範囲を説明に入れる
くらいで十分です。
このメモがあると、次の自分が助かります。
未来の自分へ「ドキュメント」を残す。 にも近いですが、記録は単なる保管ではなく、未来の判断材料になります。
プルリクも同じで、過去の差分やレビューコメントは、未来の自分が同じミスを減らすための材料になります。
明日からできること
いきなり1年分を全部見返す必要はありません。
まずは、小さく始めるのがよさそうです。
- 3か月前か半年前のプルリクを3本だけ見る
- レビューコメントで何度も出ている指摘を1つ探す
- 今ならどう直すかを1行だけメモする
- 次のプルリク説明文に「今回の意図」を1文追加する
これだけでも、学びがあります。
特に「次のプルリク説明文に反映する」ところまでやると、振り返りがただの感想で終わりません。
過去を見て、次の行動に変える。
ここまでできると、プルリクを見返す意味が一段強くなると思います。
まとめ:過去のプルリクは、今の自分を映す鏡になる
プルリクを定期的に見返すと、自分の成長度合いが見えてきます。
昔のコードを見て恥ずかしくなることもあります。
レビューコメントを見て、少し胸が痛くなることもあります。
でも、それは当時の自分がちゃんと向き合っていた証拠でもあります。
そして、今の自分が違和感を持てるなら、それは前に進んでいる証拠です。
プルリクは、コードの差分であり、レビューの履歴であり、自分の思考の記録でもあります。
最近、自分がちゃんと成長しているか不安に感じている方は、まずは数本だけでも過去のプルリクを見返してみるとよいかもしれません。
少し恥ずかしいですが、それ以上に得るものがあります。
自分も引き続き、過去のプルリクをただ流すのではなく、未来の自分に渡せる学びとして見返していきたいと思います。