ペライチ流のコードレビューをご紹介します
はじめに
こんにちは。株式会社ペライチのサーバーサイドエンジニアの松元です。
エンジニアであれば日常のようにコードレビューを依頼し、依頼されると思います。
僕自身はペライチへ入社してから初めてチーム開発に携わるようになったので、他社との比較はできませんが、ネットに転がったコードレビューに関する記事を色々読んでうちに「あれ、ペライチでのコードレビューって結構イケてるんじゃね?」と思い、この記事を書くに至りました。
実際のレビューを添えてペライチのコードレビューの雰囲気をお伝えしつつ、「ペライチちょっと気になってるんだよね」という方はもちろん、それ以外のエンジニアの方にとっても参考になれば幸いです。
※あくまでも普段のペライチのコードレビューをご紹介する記事なので「こういう会社もあるんだなー」くらいの気分で読んでみてください🙏
ペライチのコードレビュー文化
- 他の人の意見・コードを尊重する
- レビュアー => レビュイーに対しての質問OK(むしろウェルカム)
- 略語を使う
文化と言っても特別すごいことをしているかと言われるとそうではなく、ごくごく当たり前のことだと思います。
ただ、当たり前のことを当たり前にこなすのって案外難しいですよね。。。
というわけで上記の3つを順番にご説明していきます。
1. 他の人の意見・コードを尊重する
コードレビューに限った話ではないですが、ペライチには他の人の意見を尊重できるエンジニアが多いなと常々感じています。
それはコードレビューでも随所に現れていて、例えば以下を見てみてください。
これは僕が実際にもらったレビューです。
具体的な改善案を提示してもらえてかつ、現状のコードに対してのポジティブなフィードバックももらえてレビューしてもらった自分が言うのもなんですが、良いレビューだなと思いました。
上記の文脈からは少しそれますが、ペライチでは指摘をし合っても険悪な雰囲気にはならず、むしろ「ありがとうございます!勉強になります」みたいな雰囲気になるのが良いなと思っています。
2. レビュアー => レビュイーに対しての質問OK(むしろウェルカム)
ペライチのコードレビューではレビュアーからレビュイーに対しての質問が活発に行われます。
当然ですが、質問をしたからと言って「なんでそんなことも知らないんですか?」みたいなマサカリが飛んでくることはありません。
僕自身、ペライチに入る前まではコードレビューといったら評価する印象がとても強かったので、これに関しては良い意味で驚きました。
以下がいい例かなーと思ったので見てみてください。
ペライチでは、レビュアー=評価する人、レビュイー=評価される人というよりはレビュアーもレビュイーも立場は同じ、チーム全員で良い開発をしていこうといった意識が浸透しているがゆえに、こういった会話が自然と生まれるのかなと思っています。
3. 略語を使う
ペライチのコードレビューではIMO,NITS,MUST,COMMENTなどの略語を添えてコメントすることが多いです。
(使ったこと or 見たことあるという方も多いのではないでしょうか)
例えばIMOは「自分ならこうするかなー」といったニュアンスのコメントをする時によく使われています。
全員がこれらを日常的に活用しているので、コメントの意図が伝わりやすくなったり、コミュニケーションのスムーズさにつながっています。
※他でちょこちょこ略語が出てきているので、ここでは具体的なレビュー例は割愛します。
個人的に参考になったレビュー
「もっとペライチのレビューについて教えて!」という方のために、自分がもらったレビューの中で「このレビュー良かったなー!」と思ったものを引っ張り出してきました。
これらをご紹介して終わりにします。
1つ目
これは同じチームの永見さんからもらったレビューです。
このレビューを経てコントローラーを太らせず、スリムなコードを書くことができたと同時に、
個人的にはビジネスロジックとコントローラーの説明がとても分かりやすく、勉強になったレビューです。
指摘するだけでなく理由もしっかり説明する、なおかつ具体的な改善例を上げてレビュイーへ理解を促している、まさに心理的安全性の高いペライチ流のコードレビューだなと思います。
2つ目
これは僕がフロントエンドの実装をした時にもらったレビューです。
こちらも1つ目と同じく、具体的な実装案となぜそうするべきかまで一緒に説明してくれていて、フロントエンドの実装経験が浅い僕にとって非常に勉強になりました。
最後に
いかがでしたでしょうか。
結局コードレビューも一種のコミュニケーションなので、正解はありません。
丁寧なレビューは受ける側にとってはありがたいですが、レビュアー側にとっては負担になることもあるのでこの辺りのさじ加減は難しいところです。
とはいえ日常的に行う業務だからこそ、全員が気持ちよくレビューし合える形にしていけると、ペライチの掲げるクリエイターパラダイスな組織になっていけるんじゃないかなと思っています。
最後まで読んでいただきありがとうございました!
採用情報
現在エンジニア募集しています!
▼ 選考をご希望の方はこちら(募集職種一覧)
▼ まずはカジュアル面談をご希望の方はこちら
募集中の職種についてご興味がある方は、お気軽にお申し込みください(CTOがお会いします)
Discussion