コードレビューについて
あるプロジェクトで約2年間ほど、開発チームのリーダとしてコードレビューを実施しています。いろいろと試行錯誤していく中でやっと少し自分の形が見えてきたので、やっていることを書いていきたいと思います。
■コードレビュー(1回目)
私が関わっているプロジェクトは
忙しくなると人を増やす、暇になると人を減らすみたいな感じで人が増減します。
忙しくなってすぐに来れる人を探して、来てもらうので、開発もしたことがない初心者の方がプロジェクトに入って来ることが多々あります。
(私も開発リーダといいながらもただの協力会社の一員なので、このやり方は良くないと思っていてもどうしようもありません。)
なので、1回目のコードレビューは結構めちゃくちゃなコードだったりします。
めちゃくちゃなコードの場合、
まず、以下のような感じで、コードを整理してもらうように指摘します。
・1メソッドはできる限り25行以内にする。
・全く同じことをしているコードはメソッドにする。
・ループの中で変数を宣言しない。
・誰が見ても直せるコードにする。
ある程度きれいな状態になるまで、根気よく何度もコードレビューを実施します。
■コードレビュー(2回目)
きれいな状態のコードが出来上がったら
必要な仕様を満たせているか根気よくチェックします。
仕様をコード上は完全に満たせていると思うまで何度もコードレビューします。
(コードレビューでバグを発見するのには限界はあるのですが、そこはテストで品質担保します。)
■コードレビュー(随時)
仕様を完全に満たせている状態になったら想定外のエラーで落ちるロジックがないかチェックします。
あとはソースはSVN管理(古いですかね?)しているので随時コミットされるソースを毎回チェックします。
■コードレビュー(仕様変更後)
仕様変更が多発するプロジェクトなので、
仕様変更が発生したタイミングで、また仕様を満たしているかチェックします。
■コードレビュー(総合試験前)
総合試験前になると仕様変更も単純バグも落ち着いた状態になるので、
また仕様を満たしているか一からチェックします。
仕様変更が多発すると随時レビューをしていても、
取り込み漏れがこの時点で見つかったりします。
以上が現在、私がやっているコードレビューです。
まだまだ、品質をもっと上げる方法があると思いますので、
もっともっと試行錯誤していきたいと思います。