okuzawatsの日記

Android / Kotlin Enthusiast 🤖

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

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

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

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

何故か。

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

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

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

#Other

About me 😎

profile

茨城県つくば市在住のソフトウェアエンジニアです。専門領域はAndroidアプリ開発で、特にアーキテクチャに興味があります。某社でAndroidアプリ開発のテックリードをしています。

Jetpack ComposeによるAndroid MVVMアーキテクチャ入門の著者です。

👉 もっと詳しく

Writing 📝

Android MVVMアーキテクチャ入門

Androidアプリ開発の初学者に向けた、MVVM(Model-View-ViewModel)アーキテクチャの入門書を書きました。初学者の方を確実にネクストレベルに引き上げる技術書です。

👉 もっと詳しく

See Also 👀