どっこと備忘録群

アウトプットしないとインプットできない私が Androidアプリ開発をメインとした備忘録を載せています。

DroidKaigi 2023 - [JA] 突撃!隣のコードレビュー | Sato Taichi, Okumura を視聴した

視聴元

レビューのメリット

  • 不具合混入リスクの低減
  • 可読性・保守性の品質向上
  • メンバのスキル向上

その一方で

  • 時間が...
  • ギスギスする...

この登壇を通して、レビューに対してちょっとだけ前向きになってもらうことが目標。

DMM.com の開発体制や環境

  • いくつかのアプリチームが例にあがったが、共通して以下のフロー。
  1. プルリク作成
  2. チェックリストに沿ってセルフチェック
    • CIチェック
  3. レビュー
    • Approveされるまで指摘⇔レビューを繰り返す。
  4. マージ

コードレビューの工夫

DMMで展開されている3つのアプリチーム(DMM TV, DMMポイントクラブ, DMMブックス)でのコードレビューの工夫が挙げられた。

  • 1プルリクの修正量を200行〜500行
  • レビューのリマインド通知(Slack)
  • コードレビュータイム(レビューを集中して実施する時間)を以下の構成で
    • AM:口頭
    • PM:実際のレビュー
    • 効果:コミュニケーションがとりやすくなった/質問しやすくなった
  • 設計を重めにとる/設計レビューで実装の流れを共有
    • レビューでの問題は設計プロセス/コミュニケーション不足が原因ととらえたため
  • レビュー工数の軽量化(設計フェーズでの合意がとれているため)

レビュアーとしての工夫

認識合わせをしっかりと

  • ちょっとした疑問でも確認
  • 会話が3往復以上になりそうなら、対面レビューへ

記録・ナレッジとして活用させる

  • 口頭で確認したこともコメントで記録する
  • レビューコメントは今後役立てられるようにできる限り詳細に

スムーズなレビュー

  • なるべくすぐ見る
  • 自分のタスクよりコードレビューを優先する

心地よいコミュニケーション

  • やわらかい口調にする
  • 良いと思ったところもコメント
  • 緩い感じの文体で

その他

  • レビュアーは説明できるくらいに責任を持つ
  • 自分ならどうするかを意識して、それを踏まえたコメント

レビューされる側の工夫

  • 差分のサイズを小さくする
  • サイズを小さくできなくても、コミットを分ける
  • 見てほしい所をコメントでピックアップ
  • 読みやすいプルリクにする
    • 意味のあるまとまりでプルリク
    • プルリクコメで具体的に補足
    • レビューに必要案情報をそろえてプルリクに
    • 以下にレビューしやすくするかにフォーカスしたもの

結論

  • レビューは コミュニケーション と 思いやり が重要

最終更新: 2025.6.17