haagiiiな日記

あのhaagiiiのブログです。覚えたこと、学んだことの軌跡にしたい。

何回目かのリーダブルコードを読んで

新卒向けとしてよくおすすめされる、「リーダブルコード」。

これは新卒とか関係なしに、エンジニアなら誰でも一度くらいは読んでおいた方がいいと思う。
自分もかれこれ5回くらい読んでいる。
改めて自分でコードを書く機会、コードをレビューする機会が増えそうなのでまた読み直した。
この本の内容は納得感が高いものが多いし、コード例も具体的である程度の分量があるので理解もしやすいと思う。
※ 個人的には、イコールの位置を揃えるとかはよくやってしまうが、これくらいならプロジェクトとかチームの慣習に合わせる方がいいと思う。

この辺は今後も注意したい

  • 単語の情報量(getじゃなくてdownloadとかfetchとか)
  • filterじゃなくてselect, exceptとか
  • 理解するまでの時間を最小にするのが大事
  • 書かないことも大事(プログラム以外で解決できるならそれもよし)
  • 他にもいっぱいあるけど、結構意識できているものもあるとは思っていて、それでも命名の部分はいつでも気が緩んでしまう

大事なのはこの本で読んだ内容をちゃんと実践するということ

本を読んで、「そうそう、そうなんだよ。それ、ちょー大事」と思った後に書いたコードが、全くそれを無視してしまっていることも稀によくある。
コードを書く際に、リーダブルコードの内容を意識的に実践する必要がある。
これを無意識にできるようになるまではかなりのギャップがあると思う。

ある程度の経験がある人からすると、、、

常識的なグッドプラクティスが並んでいるので、納得感は高いが意識から滑りやすいというか。
そういう意味では、知識としてのキャッチアップと実践の間にちょっとしたギャップが生まれやすい部分なのかなとも思った(書籍にそういう課題があるという話ではなく、この本で取り扱っている内容自体が、そういうギャップが生まれやすいという印象)。
ギャップが生まれやすいからこそ、実践できる人とできない人のギャップとしても大きくなりやすいのだと思う。

  • 本を読んで知る、理解する
  • コードを書くときに意識的に実践できる
  • 無意識に実践できる

のステップが必ずあると思う。

コードを書くときに意識する方法として、

  • 本を読んだときに、自分ができていないところ、知らなかったことのチェックリストを作る
  • MR/PRを作るときにそのチェックリストでチェックしながら見直す

とかしてみてもいいかも。

知識として知っているのが大事な内容だし、実用にまで落とし込み、活用できるのが大事な内容だと思う。