監修として関わらせていただいた書籍『伝わるコードレビュー 開発チームの生産性を高める「上手な伝え方」の教科書』が、2025年4月28日に翔泳社より刊行となります。
今日行われている、ツールを活用しながらテキストベースで非同期に行う軽量なレビュープロセスは、従来の厳格で重厚なコードインスペクションと区別して「モダンコードレビュー(Modern Code Review:MCR)」と言われます。
モダンコードレビューの代表的な例が、本書が前提としている「プルリクエスト(Pull Request:PR)型のコードレビュー」プロセスです。
モダンコードレビュー、とりわけPR型のコードレビュープロセスは、Michael Faganが提唱したコードインスペクション(ビジネスソフトウェアの開発で元来行われていたソフトウェア開発におけるレビュー手法)よりも、オープンソースソフトウェア(OSS)開発で行われていたパッチレビュープロセスの影響を大きく受けています。
実際、PR型のコードレビュープロセスはOSS開発でまず使われ始めたものであり、プルリクエストという仕組みそのものも、メーリングリストベースで行われていたOSS開発のパッチレビュープロセスが進化したものであるからです。
このようにOSS開発のパッチレビュープロセスの影響を受けているモダンコードレビューには、コードインスペクションと比べ、実施する狙いに次のような違いがあります。
大枠となるプロセス | 実施する狙い | |
---|---|---|
コードインスペクション | 品質保証プロセス | コードの欠陥の検出 |
モダンコードレビュー | チーム開発プロセス | コードベースの品質維持に加え、知識の共有、合意形成、コミュニティ(チーム)形成、代替案の創出 |
こうした違いから分かるのは、問題の指摘を行えば目的を果たせていた従来のレビューと異なり、私たちが今日行うコードレビューでは、レビューを通じたコミュニケーションがより重要であるということです。
たとえば、モダンコードレビューを研究した論文「Expectations, Outcomes, and Challenges of Modern Code Review」では、コードレビューでレビュー担当者がより効果的に貢献するには、コードの背景、変更の意図、設計の全体像などを理解するためのツールや情報が不可欠であり、開発者間のコミュニケーションを促進する手段も重要であると述べられています。
しかし、今日の多くの開発者は、コードレビューの方法やフィードバックの受け止め方、より良いコミュニケーションの仕方を学ぶ機会がないまま、日々の仕事の中でコードレビューを行っています。
私たちは、より良いコードを書く方法を学ぶのと同様に、より良いレビューの方法も学んでいく必要があります。
そこで、本書『伝わるコードレビュー』です。
本書では、日常のコードレビューで生じがちなさまざまな問題を取り上げ、それがなぜ問題なのか、どう改善すればよいのかを、イメージしやすいエピソードとともに学ぶことができます。
伝わるコードレビュー 開発チームの生産性を高める「上手な伝え方」の教科書
(以下、書籍紹介分より引用)
コードレビューは、チームで開発するプロダクトの品質を高める重要なプロセスです。しかし、オンライン上のテキストコミュニケーションが基本となるコードレビューでは、「意図が正しく伝わらない」「受け手がネガティブに受け取ってしまう」などのすれ違いが頻発し、手戻りや誤解を生んでしまうことも少なくありません。 本書は、そんな意図や感情のすれ違いを起こさない「伝わるコードレビュー」の技法を解説した書籍です。具体的な19の事例シーンをもとに、わかりやすいプルリクエスト・レビューコメントの書き方や効果的なレビューの進め方を詳しく解説します。 事例シーンは、
・緊張感のあるレビューコメントが返ってきたとき
・説明不足のPRが提出されたとき
・考え方や価値観が食い違ったとき
など、開発現場のコードレビューでよくあるミスコミュニケーションのケースを収録。かわいいキャラクターとともに、問題の原因と対策を整理し、実践的な解決アプローチを提案します。 「レビューのつもりが指摘合戦になってしまう」
「何を伝えたいのかわからないコメントが飛び交ってしまう」
そんな悩みを抱える開発チームにとって、本書はよりよいコードレビューの指針を示すガイドラインになるはずです。レビューの指摘が的確に伝わり、レビューを受ける側も納得感をもって改善できる―そんなスムーズなコードレビューの技法を、本書で身につけましょう。
モダンコードレビューについては、GitHubを用いたフローなど、ツール面から解説された書籍はあるものの、その鍵となるコミュニケーション方法について学ぶための書籍は、英語圏も含めてまだあまり存在しません*1 。
そんな中で、本書はモダンコードレビューにおけるコミュニケーション方法を学ぶための貴重なリソースとなるはずです。本書を通じて、モダンコードレビューにおけるコミュニケーションについての理解や議論が深まることで、さまざまな現場のコードレビューがより良いものになることを願っています。
参考文献:
- オープンソースソフトウェアの育て方
- Expectations, Outcomes, and Challenges of Modern Code Review
- Modern Code Review: A Case Study at Google
*1: 2025年3月時点だと、参考になる書籍には、モダンコードレビュープロセス全般を扱った書籍として『"Looks Good to Me"』、コラボレーションプロセスとしての批評を扱った書籍として『みんなではじめるデザイン批評 目的達成のためのコラボレーション&コミュニケーション改善ガイド | 株式会社ビー・エヌ・エヌ』などがあります。