ビューティフルコード

ビューティフルコード読んだ。これはいくらなんでも面白すぎる。
セックスより興奮した。


有名人が書いたコードと共に解説が載ってて、それぞれの人が美しいコードとは何かについて語る。
美しさの基準が人によって違うのだが、それがまた面白い。速さや短さ、リソースに配慮するコード等々の美しさに対する刺激を十分に受けた。

今まで書いたコード全部がゴミに見えてくるぐらい、この本に載ってるコードはどんなリファクタ本のコードよりも美しい。

多数の人のコードの美しさに関する思想を見ることができて感じたのは、多くがUNIX哲学に共通するところがあるということ。小さいものは美しい、束縛するインターフェースは作るな、はそのままこの本に載っててもなんの違和感も無い。
それだけUNIX哲学が完成されたものであると感じたのだけれど、逆にUNIX哲学に無いようなよい教訓も多数ある。ひょっとしたらUNIX哲学以上にあるかも。「正しく、美しく、速く(この順番で)」というのは知っているようで、どこにも明文化されてなかったと思う。

UNIX哲学っぽくない、泥臭さの中の美しさの例もある。例えば、「8章 画像処理のためのその場コード生成」は画像処理に時間がかかってしまうというのでその場でバイトコードを生成するものであり、その中にも美しさがまた潜んでいる。

もう一つ特筆するほど面白かったのは、「7章 ビューティフル・テスト」。2分探索をテストするコードが実に美しい。一見普通にテストしているようでも、そのテストをすり抜けながら致命的なバグを含んだコードはいくらでも作れてしまうのだ。そういうすり抜けが発生しないようなテストを書いていく様は、実に美しい。

一つ難点をあげるとすると、amazonのレビューにもあるけど、言語がまちまちなので読みづらさがあること。でもこれは俺のせいだね、本書のコード例をCやJavaに書き直すなんてナンセンスだよ。混じりっけ無しのままが一番良い。


ほんと良い本だった。
コードの美しさと速さは両立するってこと、知ってた?

ビューティフルコード (THEORY/IN/PRACTICE)

ビューティフルコード (THEORY/IN/PRACTICE)