いくつかの事に気をつけてコードレビューを実施するだけで、効率的にコードの品質を高めることができる。効果的なコードレビュー方法をまとめてみた。

（１）複数の有識者でレビューを実施する

レビューアも人間なのでレビューが面倒になってしまうときもある。複数のレビューアが一緒にレビューすることによって、一人だけ「指摘なし」と言うわけにもいかず手抜きし辛くなる。

（２）事前に指摘事項をまとめておく

ソースコードを読む速度はレビューアのスキルによって異なるため、レビュー時に読み合わせするのは時間がもったいない。調査が必要となることもあるし、じっくりと考えたいこともある。レビューは前もって行っておく。指摘箇所のフィードバックだけは対面で行うのがよい。

（３）印刷してレビューする

エコではないが、指摘箇所を気軽に書き込めるのがよい。書き込み量をみるだけでレビューアがどれだけ丹念にレビューしてくれたのかが一目でわかる。

（４）コードの重複がないか確認する

担当している箇所では重複がないとしても、他の機能と重複している可能性もある。レビューアとして複数の開発者がひとつのコードに係わることによって、これらの重複を避けることができる。

（５）読みやすいコードになっているか確認する

クラス名、メソッド名、変数名は適切に付与されているか？メソッドの長さが長すぎないか？複雑さはどうか？などコードの可読性が保たれているかを確認しよう。

これはテストでは検出できないことであり、コードレビューでしっかりと可読不能コードを検出したい。

（６）細部に拘らない

限られた時間で効果的にレビューを行うには細部には拘らないほうがよい。Javaであれば、FindBugsやCheckStyleといった静的チェックツールを実施することによって、些細な過ちをレビュー実施前に少なくすることができる。同じ指摘を繰り返さないためにも、コードレビューの観点についてあらかじめチェックリストにまとめておく。

（７）レビュー結果を数値化する

レビュー時間や指摘件数などコードレビューのメトリクスを記録し、すべての機能において正しくレビューが実施されているかを確認する。

（８）情報共有を図る

コードレビューの目的は、もちろん実装の品質を向上させることが目的だが、情報共有するという目的も忘れてはならない。

（９）全部ダメとはしない

すべてを否定してしまうのは開発者のモチベーションを下げてしまう。誤った方向に進みがちな開発者には早めのレビュー実施を心がける。

もし、モチベーションを下げるほど指摘が入るようであれば、開発者が悪いのではなくレビューのタイミングが遅すぎたと言ってよい。

（１０）ほめる

コードレビューに限らず優れた仕事には賞賛を。優れたコードを見つけたならばほめるべきだがなかなか難しい。

下記のCode Completeはコードレビューに関しても参考になる。

オンラインのコードレビューツールもあるのでついでに紹介しておく。

Python製レビューツールReview Board

Take the pain out of code review | Review Board

Ruby on Railsによるソースコードレビューツール宍道湖

Google Code Archive - Long-term storage for Google Code Project Hosting.