- サーバーサイド
- PM/上流工程
- RPAエンジニア
- Other occupations (38)
- Development
- Business
- Other
コードレビューは実装者と一緒に行うか、プルリクベースで確認してレビューを返すのみかどちらでしょうか? どちらでもない、又は実装者のレベルによって変える等があればちょっとだけ詳しく教えて欲しいです!
ご質問ありがとうございます。
質問の意図としてはレビューを「同期的」にやるか「非同期的」にやるのかどちらがいいのか、ということだと思いますが以下私見です。
プロジェクト状況にもよると思うので一概には言えませんが個人的には時間的に許されるのであれば体験として良いのは同期的にやるレビューかな、と思っています。というのはまず同期的なレビューは口頭での説明になるので時間的な面と意思疎通という面で優れているからです。
実装者がまだあまりプロジェクトのドメインに詳しくない場合など、知識面でそもそも前提となる知識の部分を共有出来ていないというような場合に非同期的にやるとコミュニケーションコストが上回りがちになってしまうので、同期的にやる方がいいかなと思っています。
非同期的なレビューの方が向いているのは、働いてるタイムゾーンが違うとかそもそも業務に入れる日が被ってなくて同期的なレビューが出来ないというような場合で、例えば、世の中のOSSプロジェクトの大半は色々なタイムゾーンで暮らしている人がいるので必然的に非同期的なレビュープロセスが必要になります。
レビュープロセスはどうしても時間がかかるので、同じタイムゾーンで仕事をしているなら同期的なレビューのための時間を軽くでも取れると、意思疎通の齟齬などなくスムーズにいくかなと経験的には感じています。
ただ、どうしても別の業務をやっているなど同期的にやれる時間が限られていることもあるので、そういった場合は非同期的なレビュープロセスがうまくいくかと思います。
また、可能であれば全体で同期的にレビューする公式的なレビュー会(インスペクション)を定期的に開くのも一つの方法かなと思います。
全員で同期的に詳細にコードをレビューすることで、断片化した知識を埋めることが出来ます。
レビューの目的はバグの早期検出や知識の共有といったところなので、それぞれPJ状況に合わせて適切なレビュー手法を選んでいければよいかなと思います。
テックリード:@shufo
(社内報 2022年4月号より)