実のところコードレビューが好きではない
以前に「コードレビューが難しい」と題して投稿したが実のところ「コードレビューが好きではない」が正しい。
コードレビューに対する期待が大き過ぎるのはよくない。コードレビューを最後の砦にしていいはずがない。きちんとテストをするべきだ。Pull requestの変更箇所だけを見てすべての筋を把握するのは現実的ではないだろう。大局的なところまで目がいかずちょっとした実装テクニックなどの話題に終始していては意味がない。
本当なら「正しく実装できているか」を検査するのがコードレビューだろう。しかし「正しいもの」も「ガイドライン」も定義されていないことは珍しくない。仕様にしても設計にしてもあいまいなまま実装を始めてしまうことは往々にしてある。本来ならもっと手前で確認することを実装した後に議論してしまうわけだ。
そうであるのに見せかけの承認プロセスがをやるのはたちが悪いとしか言いようがない。Pull requestにapproveをもらうことでレビュイーは安心を得る。ところがレビュアーは承認できるほどそのコードも満たすべき仕様も把握していない。誰もそのコードに責任をもたない状態になっていたりする。
コードレビューに本来テストで検証すべきことを任せてはいけない。コードレビューを意味のあるものにするには、実装より手前の工程を厚くするべきだろう。
(UnsplashのNordWood Themesが撮影した写真)