リーダブルコード、ようやく読んでみた

今回はプログラマーなら必ず読むべきと言われる書籍・リーダブルコードを読んだので、簡単ながら感想を。

SIerからWebに転職後に読んだのだが、以前SIerに居たときはほぼマトモな開発を経験しなかったのでこの歳になって初読だが、新卒というか、コーディングに何かしら関わっているなら読むべきなので、読んでない方は是非読んで欲しい。

※書籍版とKindle版があるが、何度も参照することを考えると個人的には書籍版のほうがオススメ

本の冒頭にも書いてあるが、面白いコードと読みやすいコードは違うのはその通りだと思うので、どちらが生産性が良いかというのはすぐに分かる答えだと思う。

全体的な書評と個人として特に身につけたいこと

まず読んだ感想としては、コメント、メソッド名、変数名など、今まで何となくでコーディングしていた部分を「作法」として言語化して説明されており、しかもその説明が読んだら納得して頷いてしまうものになっている。

また、後半にでてくる「巨大なif文の判定式を分割」「タスクを分割し共通部分を部品化」の箇所も当てはまるが、このリーダブルコードに書いてあることは実は基本的なことで、どこかで言われてきたことがほとんどだと思う。

ただ、その基礎が出来てないから頷いてしまうのだし、基礎をしっかり身につけることが価値のあるエンジニア(プログラマー)になるのかの第一歩なのかなと思う。

個人的には各章それぞれ出来てないことがあって恐縮だが、一番は「第13章のコードを小さく保つ」点が挙げられた。

私は普段FuelPHPで実装することが多いが、Controllerが重くなるのは回避できても、最終的にModelが重くなってしまい、再利用な部品を書くことができず各メソッドが複数の役割を持って動くものが出来たりしてしまうので。

チームの独自ルールとのすりあわせ

また、もちろん現場ではチームの独自ルールが定められていることもある。(というかそれが普通か)

その辺りはレビューでも指摘されると思うし基本沿わないといけないが、もしチーム内のルールが間違っているならそれを徐々に改善しないといけない。

そうなると社内のメンバーやステークホルダーを巻き込んで話し合うことも必要になってくるが、改善をしていったほうが今後のためにも良いと思うし、むしろ、チーム内で建設的な会話をすることがメリットでもある。

まずはリファクタリングで経験を積むのも良い

リーダブルコード 書籍版

最後になるが、先に挙げたメソッド名やコメントはすぐにでも実践出来るので、自分のデスクの上に常に置いておいて、レビューの際に参照したりするのが良いと思う。

また、経験を積まなければ知識だけでは意味がないので、新規開発の機会が無いのなら、まずは自分で書いたコードを見直して本書に書いてある技術を適用していくのはどうだろうか。

事実、私が転職後に入社してすぐに書いたコードを、数ヶ月経って見直したことがあるが、まー訳の分からん書き方をしたコードが多いこと..思わずリファクタリングをしてしまった。。

仮にチーム開発をしていなくても、数ヶ月経ってコードを読み返すのは自分という他人なのだから、後の苦労を考えても、身につけて絶対に損は無いというか、身につけないといけない技術や知識だと思う。