- 2010-06-11 (金) 20:17
- 開発
私はよくコードレビューアーをするのですが、レビューアーのレビューもしてます。
初めてレビューアーをする人にいつも伝えている心構えをまとめておきます。
1.コードと人を分けて考える
問題とするのは、あくまでもコードであって、実装者ではありません。
コードレビューの目的は人を攻撃することではなく、コードの問題を解決することです。
NGワード「誰だこんな実装のしたのは。」
2.実装の背景を理解しようとする
コードの問題を生み出す原因はいろいろあります。
問題がありそうなコードを発見したら、実装者はなぜこう実装しようとしたのか、実装の背景を理解しようとしましょう。
そして、レビューするときは実装の背景を問いかけるように話をしてください。
表面の問題だけを取り上げ断定すると、本当の問題が見えなくなる危険があります。
問題例
- 実装期間の短さ → PMと相談
- 仕様変更に対する暫定対応 → 恒久対応の策定、スケジューリング
- コード規約がない → コード規約の策定
- ベストプラクティスを知らない → 伝える
NGワード「なにこれ、この実装ありえないんだけど。」
3.あなたの「普通」は普通ではない
あなたが過去に取ってきたやり方は、今回の実装系では動きが違うかもしれません。
あなたが問題にしたコードは、単にあなたのスキルが足りなくて理解できないだけかもしれません。
「普通」というマジックワードを使わないようにしましょう。
NGワード「え、普通はこうするでしょ?」
4.バズワードを出しまくり、話を混乱させない
ちょっと過去に経験したようなこと、聞きかじった言葉などを、たいして理解もせずに使いまくり、話を混乱させる人がいます。
たいしたレベルの話でもないのに、さも自分だけが知っているかのようにバズワードを出しまくり、どや顔で話すレビューアがいると、レビューそのものが成り立たなくなります。
(そういう人にかぎって、自称 xxxのプロとか、自称 xxxマニア とか主張します。そのくせ、知識が不正確で理解が甘いです。)
バズワードを使わずに説明ができないということは、あなたが理解できていないということです。
NGワード「xxx だよ。知らないの?一般的なことなんだけど。」
5.レビューしやすい雰囲気を作る
レビューの場は犯人をつるしあげる場ではありまません。
目的は、コードの問題を解決すること、また、コーディングの知識を共有するメンバーの学習の場でもあります。
目的に沿ったレビューは、初心者の人も参加しやすく、チームメンバーのスキルの底が上がり、みんながハッピーになれます。
NGワード「うわーありえねー。見てくださいよ、こことかひどいですよねー。」
最後に、今まで見たワーストレビューアの行動をまとめておきます。
- 人のソースコードをはなで笑う。読みながらくすくす笑う。
- どうでもいいうんちくを話し出す。
- 昔はこうしたとか、自分の昔話を始める。
- バズワードを出しまくって、話を混乱させる。
たのしいコードレビューを!
- Newer: WiMAX を6ヶ月使った感想
- Older: jQuery UI のサーバは nginx を使っていた

ikemasa