はじめに
過去、コードレビューが意味するところ、そしてその心構えを教えていただきました。その内容を忘れないようにするため、自分の言葉で書き下しておこうと思います。教えてもらって感じたことも混じっています。
意味するところ
-
コードの品質向上
以上。レビュー必須とすることで良い品質のコードを保てるものと思います。雑なコードをメンテしないといけないことを考えれば、レビューする時間なんて安いものかと思います。 -
割れ窓理論
「きれい」なコードが並んでいれば、「きれい」に書かれ続けられるものと思います。 -
人の目
人に見られるので、人に説明できるようにコードを書くようになっていくものと思います。 -
間違いの訂正
人はミスをする生き物です。また、本人はミスに気づきにくいものです。
心構え
-
自分を棚に上げる
コードレビューの意味するところは「コードの品質向上」です。自分が出来ていなかろうと「良くないもの」はコメントを付けるほうが良いと思います。 -
自分の勉強のためと思う
理解できないコードはレビューできないので、書いた本人や分かる人に質問するようにするといいと思います。「コードの品質向上」を目的としているので教えてもらえるはずです。また、人の技術を盗むチャンスです。習得すれば結果としてチームに貢献できます。 -
コードスタイルも見逃さない
フォーマッターを使うべきと気づくはず。後に気がついた人が修正するとバージョン管理システムでBlameできなくなる。「割れ窓理論」だと思いますので。 -
修正内容を全部提示しない
あなたはコピペしたコードを覚えていますか?ある程度考える余地を残すことで良いコードについて覚える可能性が上がるものと思います。
さいごに
レビューは「コードの品質向上」のためであり、チームでその認識が統一されていれば良いスパイラルを産むものだと思います。もし諍いに気がついたら、ファシリテータやマネージャーに認識の統一をお願いするといいかもしれません。いかなる場合もノーマウント(覚えたての言葉)であるといいと思うのです。