海外で行われたカンファレンスの発表資料の概要を、日本語で解説した記事です。資料の著者自身が関わったオープンソースプロジェクトの経験を通じて、コードレビューの概要やプロジェクトごとに異なるレビューの文化について解説しています。また、コードレビューを行っているとしばしば起こりうる人間同士のトラブルも取り上げています。
資料では、最初にコードレビューの概要を説明し、コードレビューによってどのような効果が得られるのかについていくつか挙げています。たとえばコーディング規約違反やバグ、方針に沿わないコードを早期に発見でき、品質を保つことができます。また、関係者全体の知識共有につながり技術レベルも向上します。
次に、コードレビューに関する方法論の違いについて述べています。著者のJonathan Lange氏自身が活動しているバージョン管理システムの「Bazaar」、OSSホスティングの「Launchpad」、Pythonで書かれたネットワークフレームワーク「Twisted」を例に、それぞれのプロセスについて比較しています。たとえばBazaarは2人のコア開発者が、Launchpadは専門のチームがレビューを行いますが、Twistedは誰でもレビューできます。また、意見が分かれた場合に誰が議論を収束するのかについても、プロジェクトごとに異なっています。
コードレビューでのコメントについて気をつけるべき事項がいくつかあります。ネガティブな内容のコメントをする際、「お前、get_messageにバグ入れただろ」などと人を攻撃対象にしてはならず、「このパッチ、get_messageにバグがあるね」のように矛先をコードやパッチに向けるようにします。しかし、このコメントもレビュアーとしては失格で、議論を無駄に盛り上げないよう指摘個所をできるだけ丁寧に記載する必要があります。
原文はかなりの分量がありますが、紹介記事にはそのアウトラインの翻訳が載っているので、興味のあるセクションを見つけて拾い読みしてもよいでしょう。
URL:http://www.sooey.com/journal/2008/12/28/901/