Cプログラミング診断室

暗黒ソースを浄化する秘法

ダメなソースを例に挙げ、修正を通じてテクニックを説く…そんな珍しいアプローチの本です。

本書に載ってるダメソースはヤバいです。ちびります。
著者はそんな妖魔物質を浄化し、シンプルにして行きます。

そう、優れたプログラミングを支える真理は、シンプルである事です。
そしてシンプルさは、エレガントなプログラムを生み出します。

本書を読めば、この「シンプルさ」の秘訣がよく分かります。

暗黒ソースのバーゲンセールや

本書には、正気を疑うような酷いソースが、ビシバシ登場します。

  • 長ーーーい関数
  • 色んな意味で、不適切なコメント
  • なぜそれをコピペしたし
  • 技巧を凝らした?謎マクロ
  • 魔術記号みたいな変数名
  • その書き方、意味なくね?
  • 一行で済むのに、どうしてこうなった
  • あ、これ、自分もやったな…

まず私は本書を読んで、過去の行いを反省しました。。。

シンプルの凄さを知って

著者はそんな変態ソースを書き換えて、どんどんシンプルにして行きます。

その過程で、地獄にハマらない為の注意点、テクニックを教えてくれます。

読んだ当時、これが非常に勉強になりました。

確か社会人2年目でしたが、自分のソースが格段に読みやすくなり、感動した記憶があります。
エレガントなソースは、こう言う事だったのか!と。

私にも「シンプルの凄さ」が見え始めた瞬間でした。

ぼく、関数の威力に驚く

当時、特に本書で感銘を受けたのが関数の威力です。

あの頃は関数なんて「処理を別の場所へ移すだけ」だと思っていました。

しかし本書を読み、その真価は共通化にあると気付いたのです。

そうか!引数を上手く作れば、関数は色々な場面で再利用できるのか
つまり、コピペしなくて済む!シンプルやん。

今となっては当たり前なんですが、当時はかなり衝撃を受けました。

複雑そうな現象の法則を見切って、関数で共通化する。
実際、凄腕プログラマの方々は、法則を見出す眼力に長けていました。

私は本書から、色んなソースを共通化するコツ、を教わりました。

遠慮なくディスる、それがいい

さて、本書を語る上で外せないのが、赤裸々でキツ目の文章です。

酷いソースとダメプログラマを、ボコボコにディスります。
綺麗事・容赦・情け…そんなもの一切なし!

廃棄物、論外、バカげている、無知、くだらない、破門、吐き気を催す

こんなパワーワードが遠慮なく飛び交います。
だから人によっては、不快に感じるかもしれません。

ただ「まえがき」を読めば、この文体が「わざと」であると分かります。

ちなみに、私はこういうの好きです。

なぜなら私も、他人の酷いソースを泣きながら修正した事があるから…
そして、仕事だから怒りたくても怒れなかった悲しみ。

そんな経験が幾度もあるので、このディスり具合も共感できます。本音は大事です。

読みながら時々トラウマが甦り、思わず「そうだそうだ!」と声を荒らげました…

脱!自称上級者

文体の厳しさには好みが別れますが、それを差し引いても、間違いなく良書です。
自称上級者にならない為にも、多くの人に読んで欲しい一冊です。本当に。

本書を読めば、シンプル化の秘訣が分かり、優れたソースが書けるようになります。

つまりエレガントなプログラミングスタイルが身に付きます。

知られざる?ふろく

実は本書の表紙裏には、なぜか4コマ漫画が隠されています。
なぜこんなところに??

それはさておき、著者のお茶目な日常が分かります。
忘れずに読みましょう。

Cプログラミング診断室

10

分かりやすさ

10.0/10

情報量

9.8/10

コストパフォーマンス

10.0/10

サンプルソース

10.0/10

Points

  • 優れたソースの書き方が分かる
  • 処理をシンプルにするコツが分かる
  • エレガントなスタイルが身に付く
  • 本音で語る文章
  • ふろく?の4コマ漫画

Notes

  • 辛辣な表現が合わない人もいるだろな

Kuniaki Ebata 登録者

大学中退(文系)の専門卒 日本で唯一のプログラミング書籍評論家 プログラマーで現役のスキー国体選手です 頭と体を動かすのが大好きなフレンズなんだね 専門学校で先生もやってます プログラミングは21歳から 貴族じゃない独身 持病:重度うつ病(薬とサポートのおかげで何とか生きてます) 教え子をゲーム業界へどんどん送り込み、世界を面白くする野望を実現中 プログラミングが上達するメルマガやってます ここを見たゲーム業界の卒業生へ 新作が出たら、連絡するか現物を送ってくれると嬉しいです ただし18禁・CERO-Dの場合は、厳重に梱包の上、品名をパソコン部品にて送る事(だいじ) このページが参考になった方へ ぜひSNSやブログでシェアして欲しいです お願いします(少し上にボタンあります) 最近Google先生が中身の無い「いかがでしたか?」サイトを優遇するので困っています助けて下さい(>_<) シェアしてくださった方には 小冊子 プログラミング書籍が10倍わかる読み方(pdf) を差し上げます こちらからご報告頂くか、こっそりDMを送って下さい