PR

【書評】コードコンプリート

この記事は約4分で読めます。

コードコンプリート

こんにちは、ヒーニョンです。
プログラマ年収1000万円超えに向けて日々やるべきこと」で紹介した「コードコンプリート」の書評です。

ジャンルコーディング
評価5.0
読みやすさ4.0
対象者初級プログラマ
ページ数上:628ページ、下:545ページ

必要性

初級者にとってコーディングは、叩いたコードが動くか動かないかの判断だけしか付かず、何が良いコードなのか分かりません。その第一歩として「コードコンプリート」は素晴らしい書籍だと思います。
もし、良いコードを書く必要性が理解できないのであれば、なおさら本書はそれに応えてくれます。

本文中のサンプルコードは、ほとんどがC++ですが、他のオブジェクト指向言語を知っていれば、問題無く読めると思います。

ちょっとネタバレ

読みやすいコードを書く

本書の大半は、読みやすいコードを書くためのノウハウが詰まっています。関係する章を書き出します。

  • 変数の使用
  • 変数名の力
  • 基本的なデータ型
  • 特殊なデータ型
  • ストレートなコードの構成
  • 条件文の使用
  • ループの制御
  • 特殊な制御構造
  • テーブル駆動方式
  • 制御構造の問題
  • レイアウトとスタイル
  • 読めばわかるコード

今回、改めて見直してみても実践的で重要なことばかりです。

悪魔のデバッグガイド

  • 欠陥は憶測で探せ
  • 問題を理解しようとして時間を無駄にするな
  • 真っ先に思いついた方法で問題を修正せよ

この修正もコーディングと同じで、動けば良いという悪い考えです。こんなことをしていては、無限の組み合わせがあるパズルを適当に並べているだけで、一見合っている様に見えることもあるかもしれませんが、間違えていることがほとんどです。修正は表面を直すのではなく、根本的なところから直す必要があります。

エンジニアの4つのレベル

書評で冒頭に書いている表の「対象者」の欄ですが、このレベル分けをつかっています。

  • レベル1: 初級者
    一つの言語の基本的な機能を使用できる。クラス、ルーチン、ループ、条件文を書くことができ、言語の機能の多くを使用することができる。
  • レベル2: 中級者
    複数の言語の基本的な機能を使用することができ、少なくとも一つの言語を使いこなしている。
  • レベル3: 上級者
    言語、環境、または両方の専門知識を持っている。このレベルのプログラマは、J2EEの難解な機能をすべて知っていたり、『Annotated C++ Referene Manual』を記憶していたりする。このレベルのプログラマは、企業にとって貴重な存在であり、多くのプログラマはこのレベルを超えられない。
  • レベル4: 指導者
    レベル3のプログラマの専門知識を持ち、プログラミングにおいてコンピュータとのやり取りはほんの15%にすぎず、85%が人とのコミュニケーションであることを心得ている。指導者は、マシンではなく人を読むためのコードを書く。指導者レベルのプログラマは、水晶のように澄み切ったコードを書き、しかもそれを文書化する。

社内を見渡してみると、ほとんどがレベル1で、できる人でレベル2ではないでしょうか? 少し厳しいレベル分けですね。

まとめ

僕はAmazonで購入したのですが、本が届いて驚いたことを思い出します。分厚いのです。それも上下巻の2冊共です。当時、初級者だったので読破するのは無理かと思っていましたが、読み始めるとスラスラと読むことができました。
ページ数が多いので、最後まで読破するプログラマは少ないようですが、僕にとってはコードコンプリートがプログラマ人生を大きく変えた一冊となります。是非最後まで読んでもらいたいです。

ではまたヾ(^^へ)

こちらで購入できます


関連記事

コメント

タイトルとURLをコピーしました