こんにちは、ヒーニョンです。
「プログラマ年収1000万円超えに向けて日々やるべきこと」で紹介した「コードコンプリート」の書評です。
ジャンル | コーディング |
---|---|
評価 | |
読みやすさ | |
対象者 | 初級プログラマ |
ページ数 | 上:628ページ、下:545ページ |
必要性
初級者にとってコーディングは、叩いたコードが動くか動かないかの判断だけしか付かず、何が良いコードなのか分かりません。その第一歩として「コードコンプリート」は素晴らしい書籍だと思います。
もし、良いコードを書く必要性が理解できないのであれば、なおさら本書はそれに応えてくれます。
本文中のサンプルコードは、ほとんどがC++ですが、他のオブジェクト指向言語を知っていれば、問題無く読めると思います。
ちょっとネタバレ
読みやすいコードを書く
本書の大半は、読みやすいコードを書くためのノウハウが詰まっています。関係する章を書き出します。
- 変数の使用
- 変数名の力
- 基本的なデータ型
- 特殊なデータ型
- ストレートなコードの構成
- 条件文の使用
- ループの制御
- 特殊な制御構造
- テーブル駆動方式
- 制御構造の問題
- レイアウトとスタイル
- 読めばわかるコード
今回、改めて見直してみても実践的で重要なことばかりです。
悪魔のデバッグガイド
- 欠陥は憶測で探せ
- 問題を理解しようとして時間を無駄にするな
- 真っ先に思いついた方法で問題を修正せよ
この修正もコーディングと同じで、動けば良いという悪い考えです。こんなことをしていては、無限の組み合わせがあるパズルを適当に並べているだけで、一見合っている様に見えることもあるかもしれませんが、間違えていることがほとんどです。修正は表面を直すのではなく、根本的なところから直す必要があります。
エンジニアの4つのレベル
書評で冒頭に書いている表の「対象者」の欄ですが、このレベル分けをつかっています。
- レベル1: 初級者
一つの言語の基本的な機能を使用できる。クラス、ルーチン、ループ、条件文を書くことができ、言語の機能の多くを使用することができる。 - レベル2: 中級者
複数の言語の基本的な機能を使用することができ、少なくとも一つの言語を使いこなしている。 - レベル3: 上級者
言語、環境、または両方の専門知識を持っている。このレベルのプログラマは、J2EEの難解な機能をすべて知っていたり、『Annotated C++ Referene Manual』を記憶していたりする。このレベルのプログラマは、企業にとって貴重な存在であり、多くのプログラマはこのレベルを超えられない。 - レベル4: 指導者
レベル3のプログラマの専門知識を持ち、プログラミングにおいてコンピュータとのやり取りはほんの15%にすぎず、85%が人とのコミュニケーションであることを心得ている。指導者は、マシンではなく人を読むためのコードを書く。指導者レベルのプログラマは、水晶のように澄み切ったコードを書き、しかもそれを文書化する。
社内を見渡してみると、ほとんどがレベル1で、できる人でレベル2ではないでしょうか? 少し厳しいレベル分けですね。
まとめ
僕はAmazonで購入したのですが、本が届いて驚いたことを思い出します。分厚いのです。それも上下巻の2冊共です。当時、初級者だったので読破するのは無理かと思っていましたが、読み始めるとスラスラと読むことができました。
ページ数が多いので、最後まで読破するプログラマは少ないようですが、僕にとってはコードコンプリートがプログラマ人生を大きく変えた一冊となります。是非最後まで読んでもらいたいです。
ではまたヾ(^^へ)
コメント