/ #プログラミング #テクノロジー 

その発想はなかった!超効率化できる新しいコードレビューのやり方

皆さんのチームではコードレビューうまくいってますか?
マージリクエストがたくさん溜まっていませんか?
レビューがされなくてマージできないなんてことありませんか?

こんなコードレビューにまつわる悩みをチームで解決した時のルールを紹介します。

きっかけはチームメンバーのベテランエンジニアが提案したこんなルールでした。

「午前中は一旦作業を止めてチーム全員でコードレビューする時間にしてみませんか? 前職で同じやり方をしていてメリットしかなかったので試してみましょう。」

こんな一言から始まりました。

そしてチームで運用したら、
これは本当にメリットしかないなあということが分かったので、
今回コードレビューを午前中にするルール化のメリット、体験談的なことを紹介します。

目次

  1. コードレビューのルール
  2. 6つのメリット
  3. 感想

コードレビューのルール

  • 10時から13時は全員でコードレビューをする。
  • 十分にレビューが完了したらリーダーがマージをする。

rule

基本はこれだけです。

後はいつも通りレビューをして決して、Goodボタンを押したりLGTMをします。
(LGTM : “Looks Good To Me” 自分的には良さそうに見える)
  リーダーは全員がGoodだったり、
十分にレビューが行われたと判断したらマージする運用です。

6つのメリット

  1. マージされないMRが劇的に減る
  2. レビュー時間が短くなる
  3. コミュニケーションコストが下がる
  4. マージするタイミングがいい感じになる
  5. コンフリクトがしにくくなる
  6. レビューとプログラミング作成のスイッチングコストが下がる

このようなメリットが実際にありました。

では実際に一つ一つ解説しましょう。

マージされないMRが劇的に減る

これは実際にやってみて本当にびっくりしました。
みんなで一斉にレビューすることによって、
コードレビューのチャットする会話の返信が早くなりました。

結果レビューされずに残っているMRが劇的に減りました。

これをやる前は本当にMRがなくなるなんてことは
あるのかなーと思っていました。

でも本当に減ったのでこれはすごいなと思って、
このブログを書くきっかけにもなったメリットです。

レビュー時間が短くなる

これはみんなで一斉にレビューをすることによって、
集中してレビューすることになります。

昔の運用では、手の空いた人がレビューする。
気がついた人がレビューする。
なるべくレビューする。
みたいな運用でした。

昔の運用に比べて、レビュー時間が早くなるのは、
当然の結果だと思います。

コミュニケーションコストが下がる

レビューをお願いしたいときにいちいちSlackで、
お願いしますとチャットしていたのですが、
この運用にしてからはレビューをお願いする必要がなくなりました。

しなくても午前中にみんなでレビューをするというルールにしているからです。

このレビューをお願いするっていうのが意外と精神的負担になるんですよね。

なんせお願いするわけですから。

お願いした挙句ここ何か間違ってるよーとか指摘されちゃうわけで、
これ結構ダメージ受けるんですよね。

この運用はお願いしなくても、午前中にみんながレビューするので楽なんですよね。

マージするタイミングがいい感じになる

これは午後にレビューOKのものはマージされて、
今日1日分のコードがFIXされた状態になります。

そして午後一にプログラム作成する作業前に、 git pull してから始めればその後コンフリクトすることがないです。

これがマージされるタイミングがいいって理由です。

他にも午後からは余計なソースがされることがないということが、 ルール上分かってるのでデプロイ作業もやりやすいです。

コンフリクトがしにくくなる

もうさっきのメリットで述べてしまいましたが、
午後からは余計なMRがマージされないことが分かっていますので
コンフリクトが起きるということが 、まずありません。

コンフリクトって嫌ですよね。

解消してマージする作業って本当大変なんですよね。

ルール化するだけでコンフリクトが起きなくなるって本当すごいと思いませんか ?

レビューとプログラミング作成のスイッチングコストが下がる

start

今まではプログラミング作成している途中に、
Slackでこれ作ったんでレビューしてくださいお願いします。 みたいにお願いしたり、されたりしていました。

せっかくゾーンに入ってプログラミング作成してるのに、 レビューしなきゃいけないってこれ本当に大変じゃないですか?

しかしこの運用にしてからは午前中はレビューをして、
午後からは切り替えてプログラミングをずっと作成することができます。

1回しか切り替える必要がないんですね。

しかもだいたいお昼休憩が入りますので、
自然と切り替えることができますよね。

自分のチームで採用した結果、メリットしかないような状況でして、
とてもレビューがうまくいったのでこのような運用方法を今回紹介しました。

まとめ

さて皆さんどうでしたか?

午前中にレビューするルールにするメリットを紹介しました。

このルールにしてからはコードレビューが本当にスムーズに進んでいます。

この運用ルールをしようと、声を上げたベテランエンジニアのかたには、
本当に頭が上がらないくらい、とても感謝しております。

このブログではフリーランス情報やプログラミング情報の発信を続けていこうと思うのでぜひ応援お願いします。また、Twitterでも日々の為になる技術情報やフリーランスについての有益な情報をつぶやくので、いいなと思ったかたはTwitter 札幌のフリーランス@クラウドランス望月フォローをお願い致します。

フォローする