はじめに
新卒から入社して 2年目になるすずともです。
入社前までは、個人リポジトリで PR は出すもののセルフレビュー・セルフマージみたいなことがほとんどで、
入社して、初めてちゃんとした「コードレビュー」というものを行いました。
コードレビューを行う中で、すぐにレビューをする「即レビュー1」を実践してみて感じたことを伝えられればと思います!
対象読者
- コードレビューにおいて「即レビュー」を意識していない方
- 学生など、これから社会人になりコードレビューを行う可能性のある方
即レビューとは
この記事での即レビューとは、Pull Request(PR)などでのコードレビューにおいて、レビューを依頼されてからおおむね 1日以内 に最初のレビューを行うことを指します。
チャットなどを即時に返信(レスポンス)する「即レス」になぞらえて「即レビュー」と表現しておりますが、即レスほどリアルタイム性はないと認識いただければと思います2
即レビューを心がけるようになったきっかけ
学生のころに、どこかの記事でレビューは早くするべきという旨の記事を見たことがありました。
さらに、入社してプロジェクトに配属されたとき、Google エンジニアリングプラクティス を読む機会があり、そこに即レビューに関する事項が書いてありました。
そして、実際にチームのレビューを見ていて(Slack に通知が流れてくる)「素早いレビューありがとうございます!」みたいなコメントを見かけていました。
これらがきっかけで、「即レビュー」ってなんかよさそう!自分もやってみよう!!となりました。
心がけてみて良かったこと
自分は即レビューを心がける前までは、今やっていることを中断してまでレビュー行う必要なんてないんじゃないかと、少し懐疑的な立場でした。
でも、実際に心がけてみて良かったことが多かったです。
レビュアー視点(レビューする側)
レビューし忘れることが少なくなる
もちろん自分の仕事はレビューだけではないので、コーディングや PR 作成、ミーティングなどで頭がいっぱいになることはよくあります。そうしているとレビュー依頼が来たことを忘れてしまうことも多々あります。
即レビューを心がけたことで、レビューが来てないか、自分に(対応するべき)ボールがないかを常にチェックするようになったので、レビューを忘れていても、定期的に思い出すことができ、レビュー依頼を放置してしまうことが少なくなりました。
コメント事項がすぐに修正されるので再レビューも楽
PR を作成した直後は、レビューを依頼した側(レビューイ)も意識が向いています。(レビューイ手元のコードもそのブランチになっていたりする)
なので、必然的にレビューのコメントなども割とすぐ対応してくれることが多くなります。
早く修正してくれることで、レビュアーも PR のコンテキストが頭にある中で再レビューができるので、レビュー負荷が低くなります。
(しばらくたってから再レビューすると、PR の内容を忘れていたりするので、思い出すのに時間がかかる)
心理的に楽
レビューを溜めていて申し訳ないなとか、ほかの仕事もいっぱいあるけどレビューもしなきゃとか気にしなくてよくなります。
レビューイ視点(レビューされる側・PR 作った人)
すぐにコメントが来ると修正が楽
レビュアー視点でも書いた「コメント事項がすぐに修正される」に繋がってくるのですが、
すぐにコメントが来ると、コンテキストが頭にある中で処理ができるので、修正をすぐに行うことができます。
他にも、例えば手元のブランチがそのままになっていてブランチを変更する必要がなかったり、ブラウザで調べたときのタブが開いていたりと、修正しやすい環境になっていることも多いです。
マージまでが早くなる
今まで述べたことの相乗効果で、即レビュー → 即修正 → 再即レビュー そして PR 承認 と素早く進むためマージまでが早くなります。
これにより、次の作業時には最新の main ブランチから作業できるのでコンフリクトも少なくなります。
つまり、次の PR も楽になるというわけです。
心理的に楽
レビュアーと同じくレビューイも心理的に楽になります。
レビューを催促したり(地味に相手を不快にさせない言い回しが難しい😅)、派生 PR を作るときは派生元を意識したりといったことをしなくてもよくなります。
"心がける" ということ
ここまで即レビューを "心がける" と表現してきました。
自分のチームには即レビューをするルールも、レビューまでの時間を測ったりする文化もありません。
ただ、自分が勝手に心がけているだけです。
ルールではないので、本当にレビューを忘れていても、ミーティング尽くしでレビューの時間が取れなくても気に病むことはありません。
まとめ
本記事では、即レビューの利点についてまとめてきました。
なんかすごい良さそう!と思っていただけると幸いです。ぜひあなたも即レビューを心がけてみてみるといいかもしれません。
きっと自分はもちろん、チーム全体で心理的安全性が高まり、結果的により良いチーム・組織になっていくのかなと思っています!
もちろん、チームの体制や仕事内容、自分の性格などで変わってくるので、絶対いいとは言い切れません。3
ただ、食わず嫌いでまだ試したことがないという方は、やってみることをオススメします(心がけるだけなので自分で勝手に実践できます)
P.S.
自分だけ心がけたってチームみんなが意識しないと意味ないじゃん。と思われる方もいるかもしれません。
でも、(チーム内でルールについて合意を取らなくても)心がけるだけで上記に書いたレビュアー視点の恩恵は自然と受けることができます。
そして、その良さはきっとほかの人にも伝わるはずです。(自分もほかの人のレビューを受けて感じました。)
他人が即レビューしてくれた時には、「素早いレビューありがとうございます!」などとコメントを入れてみるといいかもね 👍