(provisional)

データサイエンティストになるためのあれこれ

【100回読み】リーダブルコード(#005)

どうも!
ryotaです!

「リーダブルコード」の100回読み、本日は5回目です!

今日は月曜日ということもあって、
新しくコードを追加していくというよりは
先週自分が書いたコードを一度整理するための時間を多くとりました。

リーダブルコードを読んでいるおかげで、
自分のコードをかなり客観的に見るクセがついてきたと思います。

今日特に意識したこととしては、

・クラスや関数に飛ばすのはいいが、
 飛ばす頻度を下げることができないか、
 また、飛ばすにしてもわかりやすくできないか
・変数や関数の名前をわかりやすくし、
 コメントがなくても理解しやすいコードにできないか

の2点でした。


この観点から自分のコードを見てみると、
流れがわかりにくいし、
変数や関数の名前もシンプルすぎて、
解釈の幅が広すぎたので
そのあたりを徹底的に改善していきました。

例えばよくやってしまいがちなのが、
ファイルのパスを
「pass」
という変数名で表したり、
そのパスを得るための関数を
「get()」
という名前で表したり、
ということです。

その名前を決めた時は完全に理解しているので
問題はないように思えますが、
数日経ってからその名前を見たときに、
または別の誰かが見たときに、
その変数や関数を見てすぐ理解できるとは限らないですよね。

ですのでパッと見てわかりやすく修正する必要がありました。

例えば、
「pass」を
「configFilePass」にするとか、
「get()」を
「getConfigFilePass」にするとか、
そういった工夫を追加することで、
コードとしては長くなるけど理解は速くなる、
ということが実現できます。

ちょっと英語の勉強にもなりますしね(笑)

英語の文章を読むみたいにコードを読むことができたら、
かなり理解が速くなるんじゃないかな?と気づきました。

なので、普段からこういった名前の付け方を意識するだけでも、
開発のスピードは上がりそうですね。
明日からも気を付けたいと思います!

名前の付け方、ぜひ意識しみてくださいね!