Code Complete 第2版(上)(Steve McConnell)
書籍情報
- 著者:Steve McConnell(著), 株式会社クイープ(訳)
- 発行日:2005-03-28
- ISBN:9784891004552
書籍目次
- 『Code Complete』への賛辞
- はじめに
- 第1部 基礎を固める
- 第1章 ソフトウェアコンストラクションへようこそ
- 1.1 ソフトウェアコンストラクションとは
- 1.2 なぜソフトウェアコンストラクションは重要か
- 1.3 本書の読み方
- 1.4 まとめ
- 第2章 ソフトウェア開発への理解を深めるメタファ
- 2.1 メタファの重要性
- 2.2 ソフトウェアメタファの使用法
- 2.3 一般的なソフトウェアメタファ
- 2.4 参考資料
- 2.5 まとめ
- 第3章 2回測って、1度で切る:上流工程の必要性
- 3.1 準備の重要性
- 3.2 ソフトウェアの種類の特定
- 3.3 準備:課題定義
- 3.4 準備:要求
- 3.5 準備:アーキテクチャ
- 3.6 上流工程にかける時間
- 3.7 参考資料
- 3.8 まとめ
- 第4章 コンストラクションの重要な決断
- 4.1 プログラミング言語の選択
- 4.2 プログラミング規約
- 4.3 テクノロジの波に乗って
- 4.4 主なコンストラクションプラクティス
- 4.5 まとめ
- 第1章 ソフトウェアコンストラクションへようこそ
- 第2部 高品質なコードの作成
- 第5章 コンストラクションにおける設計
- 5.1 設計の難題
- 5.2 重要な設計概念
- 5.3 構成要素の設計:ヒューリスティクス
- 5.4 設計のプラクティス
- 5.5 一般的な手法へのコメント
- 5.6 参考資料
- 5.7 まとめ
- 第6章 クラスの作成
- 6.1 クラスの基礎:抽象データ型(ADT)
- 6.2 良いクラスインターフェイス
- 6.3 設計と実装の問題
- 6.4 クラスを作成する理由
- 6.5 言語固有の問題
- 6.6 クラスを超えて:パッケージ
- 6.7 参考資料
- 6.8 まとめ
- 第7章 高品質なルーチン
- 7.1 ルーチンを作成する理由
- 7.2 ルーチンレベルでの設計
- 7.3 良いルーチン名
- 7.4 ルーチンの長さ
- 7.5 ルーチンの引数の使用
- 7.6 関数の使用に関する注意点
- 7.7 マクロルーチンとインラインルーチン
- 7.8 まとめ
- 第8章 防御的プログラミング
- 8.1 無効な入力への防御
- 8.2 アサーション
- 8.3 エラー処理テクニック
- 8.4 例外
- 8.5 バリケードによるエラーの被害の囲い込み
- 8.6 デバッグエイド
- 8.7 製品コードに防御的プログラミングをどれくらい残すか
- 8.8 防御的プログラミングに対する防御
- 8.9 参考資料
- 8.10 まとめ
- 第9章 擬似コードによるプログラミング
- 9.1 クラスとルーチンの作成手順の概要
- 9.2 擬似コードプログラミングプロセス(PPP)
- 9.3 PPPを使ったルーチンの作成
- 9.4 PPP以外の方法
- 9.5 まとめ
- 第5章 コンストラクションにおける設計
- 第3部 変数
- 第10章 変数の使用
- 10.1 データリテラシー
- 10.2 変数宣言のガイドライン
- 10.3 変数の初期化のガイドライン
- 10.4 スコープ
- 10.5 永続性
- 10.6 バインディングタイム
- 10.7 データ型と制御構造の関係
- 10.8 1つの目的に1つの変数
- 10.9 まとめ
- 第11章 変数名の力
- 11.1 良い名前を選択するために
- 11.2 特殊なデータの命名
- 11.3 命名規則の力
- 11.4 略式の命名規則
- 11.5 標準のプレフィックス
- 11.6 短くて読みやすい名前の作成
- 11.7 避けるべき名前
- 11.8 まとめ
- 第12章 基本的なデータ型
- 12.1 数値全般
- 12.2 整数
- 12.3 浮動小数点数
- 12.4 文字と文字列
- 12.5 ブール変数
- 12.6 列挙型
- 12.7 名前付き定数
- 12.8 配列
- 12.9 ユーザー定義型の作成(型のエイリアス)
- 12.10 まとめ
- 第13章 特殊なデータ型
- 13.1 構造体
- 13.2 ポインタ
- 13.3 グローバルデータ
- 13.4 参考資料
- 13.5 まとめ
- 第10章 変数の使用
- 第4部 ステートメント
- 第14章 ストレートなコードの構成
- 14.1 順序が重要なステートメント
- 14.2 順序が重要でないステートメント
- 14.3 まとめ
- 第15章 条件文の使用
- 15.1 if文
- 15.2 case文
- 15.3 まとめ
- 第16章 ループの制御
- 16.1 ループの種類の選択
- 16.2 ループの制御
- 16.3 ループの作成─ 内から外へ
- 16.4 ループと配列の対応付け
- 16.5 まとめ
- 第17章 特殊な制御構造
- 17.1 ルーチンからの複数のreturn文
- 17.2 再帰
- 17.3 goto文
- 17.4 特殊な制御構造の展望
- 17.5 参考資料
- 17.6 まとめ
- 第18章 テーブル駆動方式
- 18.1 テーブル駆動方式の概論
- 18.2 直接アクセステーブル
- 18.3 インデックスアクセステーブル
- 18.4 段階型アクセステーブル
- 18.5 テーブル参照のその他の例
- 18.6 まとめ
- 第19章 制御構造の問題
- 19.1 論理式
- 19.2 複合文(ブロック)
- 19.3 null文
- 19.4 危険なほど深いネストの回避
- 19.5 プログラミングの基礎:構造化プログラミング
- 19.6 制御構造と複雑さ
- 19.7 まとめ参考文献
- 第14章 ストレートなコードの構成
- 索引
- 著者紹介