コードコンプリート (上) 第 2 版
コード コンプリート
完全なプログラミングを目指して
- 著者:
- スティーヴ・マコネル / クイープ(マコネル, スティーヴ / クイープ)
- 出版社:
- 日経 BP マーケティング
- 出版日:
- 2005年03月
- ISBN:
- 9784891004552
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
米ソフトウェア界の第一人者 Steve McConnell が執筆した名著「Code Complete」 (1993 年発行) の第 2 版。Jolt 賞を受賞した初版の内容を受け継ぎ、さらに新しいトピックを盛り込んで、プログラミングのベストプラクティスを集大成した待望の書です。上巻は「ソフトウェアコンストラクション」から始まり、変数名、データ型、ループ、条件判定、ルーチン、クラスなど、高品質なプログラムを作成するための基本的なテクニックを解説します。初心者はもちろん、経験豊富なプログラマにも開眼のテクニックを実践的に紹介。著者 Steve McConnell のプログラミングに対する見識と経験のすべてが詰め込まれた、価値ある 1 冊です。
技書の森解説
『コードコンプリート 第 2 版 上』 (Steve McConnell 著、クイープ 訳、日経 BP ソフトプレス発行、日経 BP 出版センター発売、2005 年 3 月刊) は、変数の名前の付け方からループ、条件判定、ルーチン、クラスの作り方まで、高品質なプログラムを書くための基本的な技術を集めた書籍の上巻です。副題は「完全なプログラミングを目指して」、原書は Code Complete の第 2 版です。版元の紹介では、1993 年に発行され Jolt 賞を受賞した初版の内容を受け継ぎ、新しいトピックを加えてプログラミングのベストプラクティスを集大成した本と説明されており、初心者から経験を積んだプログラマまでを読者に想定しています。
第 1 部から第 4 部、コンストラクションから変数とステートメントへ
上巻は 4 部で構成されています。第 1 部「基礎を固める」はソフトウェアコンストラクションという考え方の導入と、ソフトウェア開発を理解するためのメタファから始まり、第 2 部「高品質なコードの作成」でコンストラクションにおける設計やクラスの作成を扱います。第 3 部「変数」は変数の使い方や変数名の付け方を、第 4 部「ステートメント」はまっすぐに読めるコードの並べ方や条件文の使い方を扱います。各部にはこのほかにも章があり、巻末には参考文献が付いています。
コードを書く工程そのものを技術として扱う意味
ソフトウェア開発の技術書は、要件定義やアーキテクチャ、プロジェクト管理といった上流の工程か、特定の言語やフレームワークの使い方に偏りがちです。その間にある、設計を受けて実際にコードを書き、動かし、直していく工程を、本書はコンストラクションと呼んで一つの技術領域として正面から扱います。変数名を一つ決める、条件分岐の順番を整える、ルーチンの責任を絞るといった判断は一回ごとには小さく見えますが、積み重なると読みやすさや不具合の入りやすさ、後から リファクタリング するときの手間を大きく左右します。こうした判断は言語が変わっても通用するものが多く、特定の言語の書き方を覚えるのとは別の軸で、長く効く力になります。
経験の浅いプログラマから中堅まで、合う読者と向かない読者
読むのに必要なのは、何らかのプログラミング言語で一通りのプログラムを書いた経験です。特定の言語の入門書ではないため、文法をまだ学んでいる段階なら、先に入門書を一冊終えておくほうが内容を自分のコードに重ねやすくなります。また 2005 年刊の翻訳であり、扱う開発の道具や事例はその時点のものを前提にしています。特定のフレームワークの使い方や、クラウドを前提にした開発の進め方を求める人には目的が合いません。分量のある本なので、通読するよりも、命名で迷ったときは第 3 部、条件分岐が込み入ってきたときは第 4 部というように、困りごとに合わせて該当の部を開く読み方も向いています。
動くコードは書けるようになったものの、それを読みやすく直しやすいコードにするには何を学べばよいか分からない人にとって、本書は判断の根拠をまとめて手に入れられる一冊です。どの段階でどんな本を読むかを整理したい場合は、動くコードから良いコードへ進むための本の選び方 や、エンジニアの本棚に並ぶ定番書の顔ぶれ もあわせて読むと、本書の位置づけがつかみやすくなります。日々のコードの書き方を一つずつ見直したい人が、手元に置いて繰り返し引く本として選ぶ価値があります。
言及した記事 (2 件)
この本に興味がある方におすすめ
関連する本
関連記事
ディープラーニング本の選び方 - 原理 / 理論 / 実装 / 数学の 4 系統で整理 (2026 年 8 月時点)
ディープラーニング本の選び方を 4 系統 (原理を手で理解する本 / 理論を体系的に学ぶ本 / フレームワーク実装本 / 数学を補う本) に整理。2026 年 8 月時点の定番書を目的別 / レベル別に紹介し、賞味期限の見極め方も解説します。
Python 本の選び方 - 独学の最初の 1 冊から実務品質まで
Python 本の選び方を「動機」から逆算して整理。プログラミング未経験の最初の 1 冊、業務自動化に直結する本、型ヒントとコード品質で実務水準へ進む本まで、2026 年 8 月時点の定番を独学ルートに沿って解説します。
機械学習 / ディープラーニング本ガイド - エンジニアが読むべき AI 技術書の選び方
機械学習の基礎から実践まで学べる技術書の選び方を紹介。「Python ではじめる機械学習」などのハンズオン本を軸に、数学が苦手な人向けの学習ルート、ディープラーニング本への進み方、ML 本の賞味期限の見極め方を解説します。
関連用語
S3 ライフサイクル
S3 オブジェクトのストレージクラスを自動的に移行し、コストを最適化する機能
オブジェクト指向
データと操作をオブジェクトとしてまとめ、現実の概念に近づけて設計する考え方
Flyweight パターン
多数のオブジェクト間で共有可能な状態を分離し、メモリ使用量を削減するデザインパターン
Builder パターン
複雑なオブジェクトの生成をメソッドチェーンで段階的に構築するデザインパターン
エンティティと値オブジェクト
DDD における 2 つの基本的なドメインモデル要素 - 同一性で区別するエンティティと、値で区別する値オブジェクト
ガベージコレクション
不要になったメモリを自動的に解放するランタイムの仕組み