CODE COMPLETE 第2版 上 完全なプログラミングを目指して

やった!やっと読み終えることが出来た!

ずーっと読まなくちゃなーと思っていたけど、値段高さ(2冊合計13000円弱)とボリュームの多さで敬遠していた本をやっとの思いで読み終えることが出来た!

密かに今年の目標にしていたので、10月も終わろうかという時期に読み終えることが出来てホッとしている。
最近徐々にコードを書く機会が減りそうな予感を感じていて、結構焦っていたので尚更。
結局、今年の6月ぐらいから読み始めて、間に2冊ぐらい他の本をつまみ読みつつも、4ヵ月もかかったのかと思うと、良く読んだなあと自分では思う。
自分では・・・ね。
上下巻合わせて1000P以上だもんなあ・・・。
けど、同じぐらい時間がかかったGoF本程苦痛じゃなかったけどね。

内容

設計からテストまでのほぼ全般に関して取扱っている。
本の中でやたら「コンストラクション」という言葉が出てくるけど、実際に手を動かしてシステムを構築していく手順については、ほとんど含まれている気がする。

良く「新人社員に読ませる教材として良い」とかって見聞きしていたので、そんなに読み辛いことはないだろうと期待していたが、噂に違わぬ読みやすさで非常に助かった。
というか、良くこれだけの内容を上手くまとめたもんだなと著者には心から敬服する。

今まで碌に教育なんてものを受けてこなかった自分としては、この本を通じて、ひと通り新人研修受けたような気分だ。
この本を読むことで、やっと自分の中で様々なものを判断するための「ものさし」を持つことが出来た気がする。
そんな感想を持たせるところが、「新人社員に読ませたい本」と言われる所以な気がした。

読んだ方がいいなと思う人

Amazonの「出版社からのコメント」に書いてあることが、結構的を得ていて自分も同意見かな。

  • 主にプログラムを書くことを仕事にしている人
  • プログラムを書く人達をまとめたり教育したりする人
  • なんとなく我流でやってきて自信がない人

けど、ちゃんと教育を受けてきた人なら、あんまり読む必要もないかもしれないけど、そんな人少ないと思うけどねえ。
大企業だとしっかりやっているんだろうか。

あと、趣味でプログラム書いたり、デザイナーでちょこっとJavascript書くとかって程度の人にはあんまり要らない気がするかな。

気になった所

  • クラス、ルーチン、変数のそれぞれの名前は超重要
  • クラスのプロパティが7つを超えると、分割した方が良いというサイン
  • 変数の生存期間は少なく
  • 代入時の右辺を揃えるのは時代遅れ
  • コードは書く回数より読まれる回数の方が多いんだから、読み易いように書くべし
  • 資質で重要なのは、知性よりも向上心
  • 賢くない人間が理解できるように分割してシンプルにする
  • コメントを大量に書く必要があるのなら、そもそも実装がおかしい
  • テストよりレビューやコラボレーションの方がバグを見つけやすい
  • けどテストも大事(自動化出来るし)

上記の通り書かれているというわけではないが、自分はそう受け取った。
違ってたらゴメンナサイ。
こうやって並べてみると、無意識にやっていたことを一つ一つ言葉にして説明してくれていたんだなということがよく分かるなあ。

まとめ

なんとなく
「こうした方が良いと思うんだけど・・・、これって自分の趣味趣向だろうか?」 って不安になっていたことが、この本に 「こうあるべきだ」 って書かれていると、ちょっと自分の意見に自信が持てる、そんな効用もあるかな。
まあ、自分の中で相手を説得させる程明確に理解出来ていないから、この本の力を借りることになるんだけども。
統計とかデータとかも出てくるので、その辺は説得力の助けにはなってくれるかなと思う。

また、読んでいるうちに色んなところで見聞きしたこととリンクする体験も面白かった。
例えば、同じ時期に読んでいた「ピープルウェア」が参考文献に出てきたりしたし、ずーっと読みたいと思っていた「リファクタリング」が巻末の参考文献に出てきたりして、ちょっとニヤついた。
この本で書かれていたことをより深く学びたい時には、紹介された本を読み学んでいく感じになると思うので、そういった学習のハブ的な役割もしてくれる気がする。

っつうことで、値段は高いけどその価値は十分にある良書だった。
安心してオススメ出来る。