okuzawatsの日記

モバイルアプリケーション開発の沼💀

コードレビューにおける「パッと見でわからないので」

profile

書いている人 モバイルアプリケーションアーキテクト(Android)として働いています。モバイルアプリケーションのアーキテクチャ、自動テスト、CI/CDに興味があります。もっと詳しく

コードレビューをしていて、「パッと見でわからないので、〜して欲しいです」とコメントすることがあります。「〜」の部分は、「名前の変更をして欲しい」とか「処理の書き方を見直して欲しい」とかです。実際にコードレビューする時にはもう少し具体的な内容を書きますけど。

「パッと見でわからないのであればわかるまでコードを読め」と言われてしまいそうなので、「パッと見でわからないので」というレビューコメントの書き方は果たして良いのだろうか、ということをしばしば考えます。

現時点では、コードがパッと見でわからないのであれば何らかの改善が必要なので、(改善案を提案しつつ)「パッと見でわからないので」とレビューコメントをするのは正しい、と結論しています。

何故か。

コードは、書かれるよりも読まれる回数の方が多いことが広く知られています(出典不明)。パッと見でわからないコードを読む時、プログラマーは注意深く周辺を探り、時間をかけてコードを解読しなければなりません。一方、パッと見でわかるコードになっていれば、そのようなことで時間を無駄にすることはありません。

プログラマーは、そのコードを書いた瞬間に最もそのコードを理解しています。時間とともに、コードを書いた時の思考は失われて行きます。そのコードを最も容易にわかりやすく書き直せるのは、コードを書いた直後、現実的にはコードレビューを受けている時になるでしょう。

「パッと見でわからない」コードは、修正されない限り「パッと見でわからない」コードであり続けます。即ち、チームの時間(=お金)を奪い続ける負債となってしまいます。レビュワーがコードをパッと見てわからないのであれば、そのコードを今改善することが大きな価値となるのではないか、と愚考する次第です。

Related