暗黒ソースを浄化する秘法
ダメなソースを例に挙げ、修正を通じてテクニックを説く…そんな珍しいアプローチの本です。
本書に載ってるダメソースはヤバいです。ちびります。
著者はそんな妖魔物質を浄化し、シンプルにして行きます。
そう、優れたプログラミングを支える真理は、シンプルである事です。
そしてシンプルさは、エレガントなプログラムを生み出します。
本書を読めば、この「シンプルさ」の秘訣がよく分かります。
暗黒ソースのバーゲンセールや
本書には、正気を疑うような酷いソースが、ビシバシ登場します。
- 長ーーーい関数
- 色んな意味で、不適切なコメント
- なぜそれをコピペしたし
- 技巧を凝らした?謎マクロ
- 魔術記号みたいな変数名
- その書き方、意味なくね?
- 一行で済むのに、どうしてこうなった
- あ、これ、自分もやったな…
まず私は本書を読んで、過去の行いを反省しました。。。
シンプルの凄さを知って
著者はそんな変態ソースを書き換えて、どんどんシンプルにして行きます。
その過程で、地獄にハマらない為の注意点、テクニックを教えてくれます。
読んだ当時、これが非常に勉強になりました。
確か社会人2年目でしたが、自分のソースが格段に読みやすくなり、感動した記憶があります。
エレガントなソースは、こう言う事だったのか!と。
私にも「シンプルの凄さ」が見え始めた瞬間でした。
ぼく、関数の威力に驚く
当時、特に本書で感銘を受けたのが関数の威力です。
あの頃は関数なんて「処理を別の場所へ移すだけ」だと思っていました。
しかし本書を読み、その真価は共通化にあると気付いたのです。
そうか!引数を上手く作れば、関数は色々な場面で再利用できるのか
つまり、コピペしなくて済む!シンプルやん。
今となっては当たり前なんですが、当時はかなり衝撃を受けました。
複雑そうな現象の法則を見切って、関数で共通化する。
実際、凄腕プログラマの方々は、法則を見出す眼力に長けていました。
私は本書から、色んなソースを共通化するコツ、を教わりました。
遠慮なくディスる、それがいい
さて、本書を語る上で外せないのが、赤裸々でキツ目の文章です。
酷いソースとダメプログラマを、ボコボコにディスります。
綺麗事・容赦・情け…そんなもの一切なし!
廃棄物、論外、バカげている、無知、くだらない、破門、吐き気を催す
こんなパワーワードが遠慮なく飛び交います。
だから人によっては、不快に感じるかもしれません。
ただ「まえがき」を読めば、この文体が「わざと」であると分かります。
ちなみに、私はこういうの好きです。
なぜなら私も、他人の酷いソースを泣きながら修正した事があるから…
そして、仕事だから怒りたくても怒れなかった悲しみ。
そんな経験が幾度もあるので、このディスり具合も共感できます。本音は大事です。
読みながら時々トラウマが甦り、思わず「そうだそうだ!」と声を荒らげました…
脱!自称上級者
文体の厳しさには好みが別れますが、それを差し引いても、間違いなく良書です。
自称上級者にならない為にも、多くの人に読んで欲しい一冊です。本当に。
本書を読めば、シンプル化の秘訣が分かり、優れたソースが書けるようになります。
つまりエレガントなプログラミングスタイルが身に付きます。
知られざる?ふろく
実は本書の表紙裏には、なぜか4コマ漫画が隠されています。
なぜこんなところに??
それはさておき、著者のお茶目な日常が分かります。
忘れずに読みましょう。