レビューのコメントを反映するときのコミット
プルリクをしてレビューしてもらってコメントをもらった時のコード変更のコミットについて、自分が意識していることを書いておきます。
1. コメントの内容ごとにコミットする
「コメントごと」ではなく、「コメントの内容ごと」にコミットしています。コメントごとにコミットすると、同じ内容なんだけど別コメントになっているものがバラバラにコミットされるので、コメントありきのコミットになりやすいかなと思ってます。後から見返した時に、必ずしもプルリクから見ているわけではないので、コミットだけで独立して内容が伝わると良いかなと思います。
また、これは私自身の感覚なのですが、コメントごとにコミットすると、コメント以外に目が行きにくくなるなと感じています。コメントをもらっているのは1箇所だけだけど、他の実装箇所にも反映できるということは多々あり、コードを良くするチャンスです。内容ごとに、と意識するだけでも全体を俯瞰することに繋がるなと思っています。
2. コメントのメッセージに「指摘事項修正」とかは入れない
指摘事項修正、というのをついつい入れたくなるのですが、通常のコミットメッセージと同じように、Whyを書くよう心がけています。
(そもそもwhyを書くというのも簡単ではないと思うのですが)もしwhyが浮かばない場合は、なぜその修正をするのか、どんな良さがあるのか、について再度考えたり、レビュアーとコミュニケーションを取る必要があるなと思います。
3. 一度プルリクを出したらrebaseしない
一度プルリクを出したら、rebase等のコミットのハッシュを書き換えるGit操作は(特に一度レビューしてもらったコミットに対しては)しないようにしています。プルリクへのコメントに関する修正は別コミットとして積み上げることで、レビュアーはどこまでレビューしていて、コメントに対する変更はこれだと確信を持って作業できます。
最後に
「考えたことを何らかの形でOutputしておかないと、いざという時に出てこない!」と最近感じています。ちょっとしたことでもこうやってサッと書いて公開していこうと思います。
Discussion