リーダブルコード レビュー

スポンサーリンク

[所感]

プログラマー向けの本ランキングで1位の実力は本物だった。文法以前の基本が学べる。正直、私はこの本を読んでいない人のプログラムは読みたくない。オブジェクト指向だとか、関数型プログラミングだとか、そういうパラダイム以前の基本だ。しかも、読んだら明日から使える実践的で具体的な教えばかりで、プログラミング力を即アップできる内容だ。

本書では、タイトル通り、読みやすい(readable)ことをプログラミングの至上命題として捉えている。コードは使う時間よりも、読む時間の方が長いからだ。読みやすいをより具体的に言えば、

コードは他人が最短時間で理解できるように書かなければならない

ということだ。他人とは、未来の自分をも含む。現在書いているコードについて、直近の自分は理解できる。しかし、1か月後、半年後はどうだろうか。こんなことを意識する習慣を自力で身に着けるのは難しいと思う。優秀な方々と共に仕事ができる環境ならば、良い考え方を盗む機会にも恵まれるだろう。そうでない場合は本書のような良書から学ぶ他ないと思う。

本書では、読みやすくするための方法が3部に分けれられて解説される。

  1. 表面上の改善
  2. ループとロジックの単純化
  3. コードの再構成

1.表面上の改善

コードの構造を変えるまでもなくできる最も基本的な内容。いくら文法やデザインパターンを学ぼうが身に付かない内容だ。

誰もが変数名をaaaなどと適当につけたことがあると思う。しかし、名前一つ一つにここまで考えるべきなのか、と驚かされた。同様に、どういったコメントを書くべきか。そもそもコメントがなぜ必要なのか。

プログラムの1行ごとの些細なところにも意図を持つ重要性が学べた。

2.ループとロジックの単純化

人間が一度に把握できるのはせいぜい3~4個までだ。コードの読み進める上で記憶に留めなければいけないものの数が多いほど、コードは理解しづらくなる。だから、スコープをより小さくしたり、無駄な一時変数をなくしたり、論理値は否定よりも肯定で扱うべきだ、などを学べる。

特に目から鱗だった内容は要約変数だった。通常、式にはたくさんの情報が詰め込まれている。左辺と右辺のそれぞれにプロパティの参照やメソッドの呼び出しがあることはザラで、1つの式だけでも6項目以上の情報が含まれることは良くある。そういった式の結果を意図を過不足なく表現する名前の変数に格納して、条件文として扱う例は圧巻だった。

3.コードの再構成

リファクタリングとも呼ばれる手法について学べる。良書と呼ばれるプログラミング関連の本には似たような内容が含まれている。本章ではいかにコードを分割するかについて具体的に書かれている。その教えはUNIXという考え方でいうところのスモール・イズ・ビューティフルとモロ被りしており、普遍的で重要なテクニックであることが分かるし、具体例のコードを見れば、その圧倒的効用を実践レベルで理解できる。

頼まれもせずに、私は会社の同期にこの本を勧めて回っているw。それくらい良い内容だった。

[著者]

Dustin Boswell

Trevor Foucher

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

新品価格
¥2,592から
(2019/4/6 00:17時点)

コメント

タイトルとURLをコピーしました