コードレビュー

 最近コードレビュー実施上の課題を色々認識するようになりました。今回はそうした経験の整理のために、コードレビューをやる際に心に留めておいた方が良いと感じた注意点をいくつか列挙してみます。


・仕様書、ソースコードは事前に配布する
 エラー処理やスタイルなどパッと見てすぐに分かるものならば問題ないのですが、プログラムのロジック・フローの問題は、じっくり見ないと確認できないものが少なくありません。モデレータに慣れていない時は、レビュー前にソース・仕様書の配布をまったく行わないような間違いを度々やっていましたが、そうした状態でのレビューは例外なく消化不良感が残りました。
 重要で改良の余地が残されているものは、得てして見た目よりロジックの方ですから、レビューをより効率的にするためにも、ソースコード・仕様書は事前に配布しておいた方が良いでしょう。


・全てのコードを閲覧できる手段を用意する
 コードの一部をレビューするといっても、定義等関連する他の成果物も参照する機会があります。レビュー時に即時にそうした関連物も閲覧できるようにしないと、レビューの効率を落としてしまう場合があると感じます。
 そのため一部をレビューする場合でも、全てのコードをたとえ配布せずとも、プロジェクターなどで閲覧できるようにしておくとレビューがかなり楽になると思います。


・レビューの着眼点を参加者間で共有する
 レビューの対象を、あらかじめ文章や司会の注意などの手段で、なるべく具体的に参加者間で共有しておくべきです。レビューの対象とは、例えば「エラー処理をチェックする」「GUIとロジックのインターフェースをチェックする」「規約遵守をチェックする」などです。

・発言の心得を共有する
 発言の心得、とは、ここでは指摘する際に、相手が納得できる根拠を示すということです。スタイルなどは好みの問題も含みますし、レビューで指摘される側の人は良い気分ではないでしょうから、生産的な雰囲気を保つためにも、お互いが納得できるように進める意識を、文章や司会の注意で共有させておいたら良いと感じました。


・段取りを設ける
 先頭から順にレビューしていく、レビューの対象項目を1つ1つ順番にチェックしていく、コードのレビューをやりその後機能のレビューをやる、など、レビューの進行の段取りを明確にしておいたほうが良いと感じました。今回は指摘の種類が散漫な上、コードと機能とバグとUIのレビューを一度に行ったため、時間に関してあまり効率的でなくなっていました。