目的と効果を明らかにする

目的と効果を明らかにする

  • レビュー依頼は依頼だよねという話

依頼時あるある

口頭でお願いされる

  • 少なくともチャットなりのテキストに残しましょう
  • 障害対応のhotfixなら仕方ないけど、それでも後でテキストに残しましょう

お願いしますだけ

Aさん: これレビューお願いします
Bさん: 何を見たらいいの。。

差分に見合わない簡単な説明

  • これは先日あった実話
  • 依頼を受けたのは別の人間だったが、どの様に対応したか確認のためにチケットまで見たが対応内容は書かれていなかった
Aさん: 高速化対応をしましたレビューお願いします
  • この時、期待していた情報は下記のもの
  • 重い処理とそのベンチ結果
  • その処理のパフォーマンスが悪い原因
  • どう直すことでよくなるか、もしくはよくなったか
  • Before/Afterのベンチ結果

レビュアーの目的を明らかにする

  • 改善活動であれば何をしたいのか、何がよくなるのかを依頼時に明らかにする
  • 問題の解消であれば原因とその対応内容を書く
  • 仕様に関しての補足が必要であればそれも書く
  • パフォーマンスの向上を図ったのであればベンチ結果を書く
  • 究極的にはコードを見なくてもどいうコードか想像できる依頼文を目指す

伝えたいこと

  • コードレビューはおつかいではない
  • 依頼文はお願いでなく何をして欲しいかを伝えるもの
  • 相手の負荷を下げ、相手に理解してもらえる依頼を意識しよう

何でこう思うのか?

  • プログラミングはコンピュータにやって欲しいことを伝えること
  • レビュー依頼は人間に見てもらいたい内容を伝えること
  • 伝達という意味において両者は等しく、レビュー依頼の精度を上げることはコードの品質向上にもつながる
  • 何故、何をどうやったか、してほしいかが逆転しているが両者は等しい関係である
  • よいコードを書くためにも正確なコミュニケーションを常に心がけよう