伝わるコードレビュー 第8回
コードレビューに活かせる 33 の TIPS(1/5)
はじめに
この記事は『伝わるコードレビュー』の学びを整理しながら紹介するシリーズの第8回です
前回までのPart2では、レビュー現場で実際に起きやすいコミュニケーションの課題をケース形式で紹介しました
そこでは「レビューコメントの書き方や受け取り方一つで、相手との関係性が大きく変わる」ことを学びました
今回からは**Part3「コードレビューに活かせる33のTIPS」**として
より実践的で、すぐに現場で試せる行動の指針を紹介していきます
これらのTIPSは、レビューを「正しさの指摘」ではなく「チームでより良いコードを育てる対話」に変えるための具体的な工夫です
レビュアー・レビュイー双方の視点を含めて整理しています
今回はそのうち TIPS 1〜8 と Column 2本 を紹介します
TIPS 1 クイズを出さない
対象:レビュアー
ルール:⑤率直さを心がける
キーワード:率直さ・効率・受け取りやすさ・理解のしやすさ・答えやすさ
Bad: ◯◯は良くないです。理由はわかりますか?
- 相手に推測させない
- クイズを出すと「試されている」と受け取られることがある→ストレスを感じる
- 相手の答え合わせで無駄な時間がかかる
- クイズを出す側と出される側に立場の強弱が生まれる
Good: △△という理由で◯◯は良くないので、□□を使ってください
- 理解度は改善の余地のあるコードが出てきた時点で判断できる
- 学習目的であればコードレビューとは別のチャンネルで行う
- 相手にしてほしいことを率直に伝える
TIPS 2 命令しない
対象:レビュアー
ルール:①決めつけない
キーワード:言葉づかい・受け取りやすさ
Bad: ここは△△に修正してください
- 上位の立場からの一方的な命令はネガティブな影響がある
- 命令:相手の意思や状況を考慮せずに強制的に指示を出す行為
- 悪影響
- 考える機会の喪失
- コミュニケーションの質の低下
- モチベーションの減衰
Good: このコードだと◯◯のおそれがあるので、△△に修正してください
- 理由を添える
- 経験を共有する
- フィードバックを促す
TIPS 3 性善説で考える
対象:レビュアー・レビュイー
ルール:①決めつけない・⑤率直さを心がける
キーワード:効率・思い込まない
Bad: 手を抜かずに◯◯してください
- 能力不足を悪意のせいにしてはならない(ハンロンの剃刀)
- 存在しない悪意を想定すると関係が悪化する
Good: ◯◯してください。△△の効果が見込めます
- 悪意の有無ではなく、改善の事実に注目する
[NOTE]
人格攻撃やハラスメント行為には毅然と対応する
COLUMN: 感謝の気持ちの伝え方
「ありがとうございます」だけでは「確認しました」の意味で受け取られることがある
→ 具体的な感謝のポイントを添えると印象が変わる
e.g.
- 丁寧なご説明ありがとうございます
- ドキュメントへのリンク、助かります
感謝は「自分にどう影響したか」を伝えると伝わりやすい
TIPS 4 相手の意図を断定しない
対象:レビュアー・レビュイー
ルール:①決めつけない
キーワード:効率・受け取りやすさ・思い込まない
Bad: ◯◯という理由でこう書いているのでしょうが、△△と書いたほうが良いと思います
- 一見丁寧だが、意図を決めつけてしまう
- きつい印象を与えることがある
Good: ◯◯という理由でこう書きましたか?もしそうなら△△と書いたほうが良いと思います
- 質問の形で意図を確認する
- 相手への敬意を保つ
TIPS 5 まずは共感を示す
対象:レビュアー・レビュイー
ルール:①決めつけない
キーワード:効率・受け取りやすさ
Bad: それは良くない
- いきなり否定しない
Good: その考え方もありますね。ただ今回は△△の理由があるのでどうするか検討しましょう
- 共感は同意ではない
- 合意できるポイントを探す
- 相手を尊重したうえで意見を伝える
[IMPORTANT]
形だけの共感は逆効果になる
TIPS 6 チームで共有するタグを作る
対象:レビュアー
ルール:④チームで仕組みを作る
キーワード:効率・受け取りやすさ・理解のしやすさ・答えやすさ
Bad: ◯◯の方が良いと思うけど、△△にしている理由はなんですか?
- 意図が曖昧になり、指摘か質問か分かりにくい
Good: ask ◯◯の方が良いと思うけど、△△にしている理由はなんですか?
- チームで共通タグを使うことで意図が明確になる
- [imo]: in my opinion(意見・提案)
TIPS 7 Lint ツールを入れる
対象:レビュアー・レビュイー
ルール:④チームで仕組みを作る
キーワード:効率・ツールの活用
Bad: 「インデントがずれています」「空行を入れてください」
- レビュアーの負担が増える
- レビュイーが萎縮する
- コーディングスタイルの不統一が起きる
Good: Lintツールに任せる
- スタイルチェックを自動化
- チームでルールを統一
- 人ではなくシステムが指摘する
[NOTE]
ルールはドキュメントに明記しておく
TIPS 8 作業ログをつけて参照場所をリンクする
対象:レビュイー
ルール:②客観的な根拠に基づく・④チームで仕組みを作る
キーワード:効率・理解のしやすさ
Good: 試行錯誤の過程を作業ログとして共有
- 事実と考えを分けて記録する
- 思考の流れを明示することでレビュアーが背景を理解しやすくなる
[NOTE]
作業ログは「判断の文脈」を伝えるツール
COLUMN: レビューをゲーム化してみよう
「何を書こう?」と悩むより、自分ルールを設定することでレビューを前向きにできる
e.g.
- ルール:コメントにポジティブワードを3つ入れる
- ルール:1回のレビューで少なくとも1つ学びを共有する
[NOTE]
自分ルールは開示してもしなくても良い
おわりに
今回はTIPS 1〜8と2つのColumnを紹介しました
レビューは「正しさを伝える場」ではなく、「相手を理解し、共に良くしていく場」へ
次回はPart3の続編として、TIPS 9〜16 を紹介します
