はじめに
GxPの中野(@knakano-gxp)です。
本記事はグロースエクスパートナーズアドベントカレンダー2022の5日目の記事です。
5日目はコードレビュー観点を社内で共有した際の話をご紹介します。
なぜレビュー観点を共有しようと思ったのか
チームではお互いにコードをレビューするようにしています。
コメントがあまり無いままに承認されているケースがあり、
もっとコメントを書いてほしいという思いがありました。
(承認されているけど、後で自分で見返した時にこれって指摘がなかったなと思ったりしたことがあったので、出来ればコメントしてくれると有り難いなと思ったりしてました)
なぜ少ないのだろうと思った時に、単純にどういった観点で見れば良いのか分からないんじゃないかという仮説を立てました。それに対して自分が普段気をつけているコードを見る時の観点を明文化して共有するということをしました。
観点が分かれば少しは書きやすくなるのではないかと思ったからです。
下記の様な観点一覧を共有してみました
(見やすいように詳細は省いています)
- 機能が適切に実装出来ているか
- デバッグ用のコードが残っていないか
- バグが起こりそうな事が考慮されているか
- ソースコード内のコメントが嘘がないか、足りているか
- リファクタできそうな所はないか
- 言語やFW特有の問題が考慮されているか
- レイアウトに問題がないか
- 様々な入力が考慮されているか
- コードフォーマットが適切にされているか
書き出してみると案外色々あるなと思いました。
人によってはレビューする際にチェックアウトして動かしてみるということまでする人もいるんじゃないかと思っています。自分もまだまだなのでもっと他にも観点があるんじゃないかと思います。
皆さんはどうでしょうか?
共有してみてどうだったか
共有したメンバーからは参考になったと評価をいただきました。
コメントも以前よりも増えている感じがしました。
ありきたりなコメントですみません。
もっとその辺りをウォッチしていれば具体的なものが出せていたかもしれないですね。
でも、共有した事自体は良かったなと思います。
自分自身も明文化してみて、こういう事に気をつけていたいなと改めて思うようになったからです。
アウトプットは見る人だけでなく、振り返りにもなるように思いました。
例えば「デバッグ用のコードが残っていないか」というのは意外とセルフチェックで見落としがちだと思います。
プルリクを出す際のセルフレビューにも使えそうです。
おわりに
コードのレビューは経験に基づく事が多くてあまりナレッジが共有されていないように普段感じています。
レビューを受けてその中で学んでいくような気もします。
でも、それではナレッジを伝えていくのに時間が掛かってしまうので、やっぱりこういったアウトプットが大切なのではないかと考えています。それが自分自身のためにもなるのではないかと思いました。
自分にとっては当たり前のことでも、知らない人からすると大きな発見になります。
コードレビューに限らず、経験から得られる技術的なナレッジはたくさんあると思っていて、このアドベンドカレンダーの取り組みは素晴らしい機会だなと思いました。
読んでいただきありがとうございました。