はじめに
本日はリーダブルコードの9章を読んで学んだことを整理する。
前章では、「巨大な式を分割する」ことによって、理解するまでの時間を短くするテクニックを学んだ。
この章では、「不要な変数を削除する」ことの重要性が書かれていた。
変数を削除する
例えば以下のコードについて考える。
now = datetime.datetime.now()
root_message.last_view_time = now
now
を使う理由は何だろう?
そもそも変数を使うとどんな恩恵があるのか整理する。
変数を使うと得られる恩恵
- コードが短くなり、単純になる
- 変数名が説明の役割を果たすことで、コードがより明確になる
- 変数を使う回すことで、重複するコードを減らせる
だとしたら、datetime.datetime.now()
は、既に短くてシンプルであり、意味付けも不要で、くり返し使われているわけではない。
だから、以下のように書いたほうが簡潔でわかりやすい。
root_message.last_view_time = datetime.datetime.now()
おわりに
「読みやすくするために変数を使う」ということは無意識に働いているように思え、その無意識によって使わなくてもいい変数を使ってしまっているような気がした。
また、リーダブルコード全般に共通していえることだが、この本を読んで理解することにあまり価値はなく、日々「理解する時間を減らせないかな?」って考えることが大切。
そう自分に言い聞かせて、日々実践していく。