コードレビュー事始め
今までコードレビューというものをやった事が無い。コードの品質を上げる為には必要な事*1とはわかっているけど、スケジュール的な問題やそもそも自分が書いたコードをレビューできる人間がいないという事もあって、ほったらかしにしていた。
そんな折、自分以外の開発者がレビューするのにちょうどいい規模の開発案件をやっていたので、それの成果物を試しにレビューしようと思い立った。といってもコードレビューなんてやった事が無いのでやり方がさっぱりわからない。
とりあえず参考になりそうな本を買ってきたので、コードレビューのやり方をまとめてみる。
コードレビューの形態
コードレビューにはどのような形態があるか?
どうして?
なぜコードレビューを行う必要があるのか?
誰が?
どんな人がコードレビューに参加する必要があるか?
- 作者
- コードの作成者、コードの説明を行う
- レビュー担当者
- コードをレビューし、問題があれば指摘する
- 議長
- レビューを指導し、議論の方向を決める
- 書記
- 議事録を取る
何を?
どのようなコードをレビューする必要があるのか?
どこで?
どのような場所でレビューを行うのがいいか?
- 静かな場所。コーヒーを用意しておく。
どのように?
具体的にどんなことを調べればいいのか?
- 正しく機能を作りこんだか?
- エラー処理などを適切に行っているか?
- コードが読みやすいか?
- 変数名・メソッド名・クラス名などが適切か?
- 同じような処理をコピー&ペーストで作っていないか?
- 他の人のモジュールと同じような処理を書いていないか?
心構え
作者
Code Craft P472 より
自分の欠点が晒されることを恐れてコードレビューを敬遠する人が少なからずいますが、尻込みしてはいけません。コードをレビューしてもらうことで、新しい技術を学ぶ良い機会が得られます。自分が完璧でないことを謙虚に認め、他人の批判を積極的に受け入れることが大切です。
レビュー担当者
Code Craft P473 より
常に建設的な意見を提案し、非難の感情を込めないようにします。作者への個人攻撃をしないようにします。
完全なるコード
レビューで合格するコードとはどういうものなのか?
Code Craft P475 より
・バグがないこと
・正確であること
・完備であること
・構造化されていること
・予見可能であること
・堅牢であること
・データをチェックしていること
・保守可能であること