マイベストに入って良いと感じたコードレビュー文化
みなさん、はじめまして!株式会社マイベストでフロントエンドエンジニアとして携わっているおぎのです
プロダクト開発部 アドベントカレンダー の16日目を担当します!
マイベストには2021/4入社で気がつけば1年8ヶ月が立ちました!
今まで他の会社やチームで働いてきましたが、働く場所が変わると文化が変わるので色んな気付きがあります
今日はマイベストに入社して、良いと感じたコードレビューの文化を3つほどご紹介できればと思います!
その1:レビュー環境がある
マイベストではPull Request毎に動作確認用の環境を用意できます
レビュー環境がある事でいくつかのメリットを得られています
メリット1:再現環境を共有しやすい
レビュー環境で動作確認してて、不具合を見つけた場合再現したレビュー環境のURLを渡すだけでメンバーに共有できるのが楽だなと感じました!
開発者各々の環境(ローカル環境)だと、開発状況が異なってたり、DBのデータが同じところまで担保できないので、環境差が起きない共通の環境が使えるのはメリットだなと思います
メリット2:非エンジニアでも成果物を確認できる
デザイナーや案件立案者といった非エンジニアの方でもレビュー環境のURLを共有することで、成果物を見てもらう事ができます
コードマージ前にUIが意図通り実装されているかの確認や、成果物が要件通りに作られているかの確認ができるのは、手戻りを減らせる大きなメリットだなと感じています!
また、レビュー環境で使っているDBも本番バックアップデータに限りなく近いデータを使っているので、実運用を見据えての検証ができるのも良ポイントです
その2:コメントにラベルをつける
マイベストのコードレビューではPull Requestにコメントをつける時にラベルをつけてコメントを行うルールを採用しています
ラベルでレビューコメントがどういう意図かを理解しやすくしたり、対応が必要かどうかの温度感がすり合わせしやすくなります
結果として、コミュニケーションコストが下がってレビューが円滑に回っているなと実感しています!
実際にマイベストで使われているラベルを紹介したいと思います!
まずは確認が必須なラベルからです
これらが未解決の場合はApproveすることはできません
[MUST]
絶対直すべきところにつけるラベル
仕様通りに動作していない、エラーが起きている、セキュリティの懸念があるなど
[SHOULD]
極力直したほうが良い所につけるラベル
機能要件は満たしているけどパフォーマンス上の懸念があるなど
[質問]
実装の内容や意図について詳細を聞きたい時につけるラベル
レビュワー、レビュイーでやり取りした上で対応の有無を判断
続いては対応は必須ではない(レビュイーにおまかせ)ラベルです
[IMO]
こんな風に書くといいかも、という意見を示したラベル
保守性・可読性が良い書き方など
[nits]
軽微なミスにつけるラベル
typoなど
[感想]
文字通り感想に対してつけるラベル
今回は対応不要だけど将来的にこういう作りにできたらいいねといった会話を残したり、良い実装に対してコメントを残すことが多いです
その3:LGTM画像を貼り付けてApproveする
LGTMこと Looks Good To Me(私にはよく見える)ですが、
マイベストではApproveする際にLGTM画像を一緒に貼る文化があります!
ルールとして存在していないので、みんなノリで貼り付けていると自分は感じています!
画像はLGTMoonというサービスから持ってくることが多いです
ささいなコミュニケーションではありますが、LGTM画像がGitHubやSlackのbotに流れてくるとレビューの雰囲気が少し明るくなって良いと感じます!
また、好きな画像やネタ画像を貼り付けてくれる方もいたりするので、レビュワーの人となりを知れるちょっとしたきっかけにもなると感じています
ちなみに自分は誰かに飯テロできたらいいなと思って、食べ物やおやつの画像をよく貼り付けています、、
飯テロ効果がでたかどうかはまだ測ったことがありません
おわりに
以上、マイベストに入ってよかったなとコードレビュー文化でした!
今回はコードレビュー周辺にフォーカスした内容になりましたが、良い文化を作ることは仕事の進めやすさ、働きやすさにつながるので大事だなと感じました!
またマイベストでは、インターネットを使った”最高の選択体験”を実現するための仲間を募集しています!もしご興味を持った方がいらっしゃれば
カジュアルにお話することもできるので、ご興味を持った方がいればぜひ御覧ください!
採用総合ページ▼
中途エンジニアの方はこちら▼
新卒の方はこちら▼