コードレビューはコミュニケーションの場
コードレビューのやりとりを見ていると場当たり的な対応をしている人を見る。言われたので直しました、ここは他の箇所をコピペしました、とりあえず動くように条件分岐を付け加えました。
動くものは出来ているかもしれないが、その人の中でいいコード、いい設計、変更容易性、保守性、凝集度などがないと、場当たり的な対応になってしまう。
チームで開発していればチームとしてなにがいいものなのか、なにがよくないものなのかを共有されていないと場当たり的になってしまうかもしれない。
コードレビューの場はコードの所有者としてなにがよくて、なにがよくないかをコミュニケーションしながらよりよいものを探す場だと思っている。なのでそこでコミュニケーションを取らない対応をされるとコードレビューの意味があまりないように思える。どうしてこのように書いたのですか?という質問には、「修正しました!」ではなく質問に答えてほしいし、そこで質問に答えてくれないと次のPull Requestでまた同じことを繰り返してしまう。その結果コードレビューって嫌な場所だな、OKもらうの大変なんだよなあとなってしまう。みんな不幸になる。
コードレビューでコミュニケーションしていこうな。コードレビューでコミュニケーションを上手にするにはコードをわかりやすく書くだけでなく、なぜこの変更をする必要があったのか、なぜこのようにしたのか、どういう設計意図なのか、などなど概要や関連ドキュメントなどをどんどん書いてあるとコミュニケーションがしやすくなるね。
これはブログに書けばよかったかもな。