やる気がストロングZERO

やる気のストロングスタイル

コードレビューする側になって思うようになったこと

昔、コードレビューがなかなか通らずよく悩んでいた。

あれから時間がたって、最近はコードレビューをすることも多くなった。 レビューする側になったらなったで悩みが出てきたので、それについて簡単に書いてみる。

何の目的でどう修正したのかぱっとわからん

状況

PRの説明文を読んでも「何の目的で何を行ったのか」が読み取れない。 変更差分も大きく、コード差分からそれを理解するのも難しい。

希望

「何の目的でなにをしたのか」をまず書いてほしい。 付属の説明が必要な場合はその後に書いてほしい。 説明が複雑で長文になる場合は、問題を分けて一つずつPRに切り出すことで、問題を単純にしてほしい。

目的を達成する手段が適切ではない

状況

目的を達成する手段は色々あるが、目的達成に対して遠回りな手段を取っている。 遠回りなので、不要なリスクも抱えてしまっている。

希望

目的を実現する最短距離を目指してほしい。

実装コードに変更を入れることの危険度を認識できてない

状況

必要性も無いのにカジュアルに既存コードに大きい変更を入れる。 変更を入れたなら挙動に問題が無いことの担保が必要になるが、それが軽かったりもしくは無い。

希望

変更を入れるなら全力で「影響がない」ことの確認・担保は行ってほしい。 これをやろうと思うとだいたい面倒くさいから、余程の理由がないと既存コードに対して大きい変更を入れようとは思わず、影響範囲を適切に絞った変更になっていくと思う。

コードの変更理由について説明できてほしい。

状況

「なぜその手段を取ったのか」に理由がない場合がある。

希望

自分が書いたすべてのコードには、そう書いた理由を説明できてほしい。

仕組みは本来の用途で使ってほしい

状況

やりたいことが実現できるからといって、本来の用途でない使い方で仕組みを利用しようとする。

希望

いびつになっていつか必ずこまるのでやめてほしい。

信頼を勝ち得てほしい

状況

考慮されてなかった問題点を指摘することが毎度になると、その人に対する信頼度が下がって、レビュー時には「問題点があるはず」っていうモードになってしまう。掘ると気になる部分は出てくるので、細かい指摘まで発展してしまって、やりとりに時間がかかる。

希望

「ここ大丈夫?」って突っ込まれたら「〇〇なので検討済みです。大丈夫です!」って感じで打ち返して欲しい。 そうやって「この人はたぶんちゃんと色々考慮してくれてるから大丈夫だな」って思わせてほしい。 そうなると、レビュー指摘自体が減ってスムーズに行くようになる。

おわりに

書きながら、昔自分もそう思われていただろうな、、と思った。