目 次

ZERO BUGS シリコンバレープログラマの教え

1 スピード
2 漏れのないコード
3 完璧にすることが容易なときもある
4 完璧に到達する方法
5 冗長なコードがあるなら、取り除こう
6 コンパイラーの警告には耳を傾けよう
7 各関数呼び出しがすることを知ろう
8 再利用可能なコード
9 循環的複雑度
10 1度に1つの小さなことを
11 いろいろな種類のバグ
12 1行の変更が1つのバグにつながるかも
13 チームと文芸的プログラミング
14 他人のコードを利用する
15 美術品としてのコード
16 コードレビュー
17 他人のコードの修正
18 醜さをカプセル化し、先に進む
19 構造 vs リアルコード
20 構造が理解への鍵
21 データを使い議論を効率的に終わらせよう
22 自分自身の最悪の敵になれ
23 発見しやすさ
24 関心の分離
25 変数のスコープが世界を形作る
26 柔軟性のポイント
27 あとでやれ
28 すぐにやれ
29 悪いAPIはバグの原因
30 Lispからのレッスン
31 ACID
32 失敗優先戦略によって稼働時間2万年に到達するには
33 証明によるプログラミング
34 契約、そして証明に手間をかけられないあなたに
35 メモリーが信頼できないとき
36 並列処理
37 象の多くの側面
38 フォン・ノイマン
39 ゲイツ
40 コードをどのように判断するのか

美しいコード〜過去からの学び〜

解説
訳者あとがき
参考文献
謝辞