generated at
なぜコードレビューを行うのか

なんでコードレビューやるのshokai
個人的には責任分散、正確さの向上、知識共有の3つの為だと思っている
レビューには時間がかかるので、この3つが不要な状況ならレビューしなくても良いとも思っている


責任の共有
合意を取る
レビューがない場合
私が作りました→bugで顧客に損害が出ました→全て私の責任です
これはつらいので避けたい
個人の心に大ダメージが残る
チームで合意をとってリリースすると
顧客に損害がでてもチーム全体の責任になる
個人の心が守られる

正確さの向上
2人でダブルチェックするからミスが減る
2人のチェック範囲が重なっていないと無意味
だからpull requestには動作確認方法が必要
「自分が何をチェックしているか」を相手にチェックしてもらう
「実装できました。私なりにチェックしました。何をチェックしたかは秘密だけどレビューお願いします」
これをやられると「こういう境界条件もきっと実装者が確認してるだろうな、まあいいやLGTM」になる

知識共有
ソースコード内のあるコンポーネントについて、中身を知っている人が複数いる状況にしておく
bugがでた時に修正できる人が増える
そのコンポーネントに関わる新機能を作れる人が増える
将来的な開発効率が上がる
レビューがないと、何もわからん他人のコードをまず調査する事からはじめなければならなくなる
実装上のテクニックの共有
レビューのついでに新しいプログラム言語の仕様や、設計手法にキャッチアップしていける
一生OJTし続ける

増井俊之
Extreme Programming(XP)で提唱されてることの簡易版かと思った
知識共有
責任共有
一体感
テスト内容のチェックテストもコードレビューと同時にやればもっとXPぽくなるかも