42:レビューアーはレビューの根拠を明示しよう

プログラミング迷子: 先輩、それ先に言ってよ

  • 後輩W:このPRをレビューお願いします(今回は 40:PRの差分にレビューアー向け説明を書こう を実践して説明を書いたから、バッチリだぞ!)

  • 先輩T:はい(1分後)さっきのPRだけど、コーディング規約に準拠してないのでレビューできないよ。ざっと見た感じ、ログ出力が他のところと合ってないようです。クラス継承による差分実装を多用しているようだけど、このプロジェクトではできるだけ避けてください。使用する場合も、デメテルの法則に違反しないようにしてください。

  • 後輩W:コーディング規約、PEP8には準拠しているはずですが……、あと、デメテルの法則って初めて聞いたんですが何ですか?

  • 先輩T:あれ、このプロジェクトのコーディング規約とかって言ってなかったっけ? このWikiに書いてあるので読んでみてください。

  • 後輩W:(何かいろいろ書いてある……先に言ってほしかった……)ログ出力はどこを見たらわかりますか?

  • 先輩T:あれ、書いてない? ごめん今から書くわ。

  • 後輩W:(Wikiにも書いてなかったことを実装するのは無理では……もしかして思いつきで指摘してるのでは?)

レビュー観点をまとめず、「ルールなど、わからないことがあったら聞いて」という進め方ではうまくいきません。 どんなルールを採用しているのかわからないと、聞けないこともたくさんあります。 「継承を使って良いですか」と質問する人はあまりいないでしょう。

レビュー観点がないと、レビュー指摘の根拠がありません。 先輩だから、世の中がそうだから、というのは根拠にならないですし、そのような指摘に対して根拠を求めたり同じ話題で毎回議論するのも時間の無駄です。 議論をするのであれば、決めておいた観点を変更するための議論のほうが建設的です。

ベストプラクティス

プロジェクトメンバー全員でレビュー観点をまとめて、合意しておきましょう。 レビューアーは、合意された観点を元にレビューしましょう。

cover

(中略)詳細は書籍 自走プログラマー をご参照ください