プログラミング作法

プログラミング作法

プログラミング作法

他著者情報

Brian W. Kernighan:Lucent Technologies社ベル研究所,計算機科学研究センター所属.Addison-Wesley社のProfessional Computingシリーズ顧問.「プログラミング言語C

Rob Pike:Lucent Technologies社ベル研究所,計算機科学研究センター所属.Plan9,Inferno(OS)開発.

福崎俊博:1958年1月生まれ.早稲田大学政治経済学部政治学科卒.1985〜フリーランスのライター.「ハッカーズ大辞典」「sed&awkプログラミング」「入門GNU Emacs第2版」

概要

目次・ポイント

はじめに

第1章 スタイル
1.1 名前
1.2式と文
1.3 一貫性と慣用句
1.4 関数マクロ
1.5 マジックナンバー
1.6 コメント
1.7 なぜ手間をかけるのか
1.8 参考文献

第2章 アルゴリズムとデータ構造
2.1 探索
2.2 ソーティング
2.3 ライブラリ
2.4 Javaクイックソート
2.5 O記法
2.6 配列の伸長
2.7 リスト
2.8 ツリー
2.9 ハッシュテーブル
2.10 まとめ
2.11 参考文献

第3章 設計と実装
3.1 マルコフ連鎖アルゴリズム
3.2 データ構造の選択
3.3 Cによるデータ構造の作成
3.4 出力の生成
3.5 Java
3.6 C++
3.7 AwkPerl
3.8 性能
3.9 教訓
3.10 参考文献

第4章 インターフェイス
4.1 カンマ区切り値
4.2 プロトタイプライブラリ
4.3 他人の使うライブラリ
4.4 C++による実装
4.5 インターフェイスの原則
4.6 リソース管理
4.7 中止しますか,再試行しますか,失敗させますか?
4.8 ユーザーインターフェイス
4.9 参考文献

第5章 デバッグ
5.1 デバッガ
5.2 有力な手がかりのある簡単なバグ
5.3 手がかりのない困難なバグ
5.4 最後の手段
5.5 再現不能のバグ
5.6 デバッグツール
5.7 他人のバグ
5.8 まとめ
5.9 参考文献

第6章 テスト
6.1 コーディング時のテスト
6.2 系統的なテスト
6.3 テストの自動化
6.4 テスト機構
6.5 ストレステスト
6.6 テストのコツ
6.7 誰がテストを担当するのか?
6.8 マルコフプログラムのテスト
6.9 まとめ
6.10 参考文献

第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 正規表現
9.3 プログラマブルツール
9.4 インタープリタコンパイラ仮想マシン
9.5 プログラムを記述するプログラム
9.6 マクロによるコード生成
9.7 オンザフライコンパイル
9.8 参考文献

エピローグ

Appendix:ルール集

索引

参考図書等