1 A PRAGMATIC PHILOSOPHY 注重实效的哲学
1. The Cat Ate My Source Code 猫把我的代码吃了
2. Software Entropy 软件熵
3. Stone Soup and Boiled Frogs 石头汤与被煮的青蛙
4. Good-Enough Software 恰到好处的软件
5. Your Knowledge Portfolio 知识资产
6. Communicate! 交流!
2 A PRAGMATIC APPROACH 注重实效的途径
7. The Evils of Duplication 重复之罪
8. Orthogonality 正交性
9. Reversibility 可逆性
10. Tracer Bullets 曳光弹
11. Prototypes and Post-it Notes 原型与便笺
12. Domain Languages 领域语言
13. Estimating 估算
3 THE BASIC TOOLS 基本工具
14. The Power of Plain Text 纯文本的威力
15. Shell Games Shell之妙
16. Power Editing **编辑
17. Source Code Control 源码控制
18. Debugging 调试
19. Text Manipulation 文本处理
20. Code Generators 代码生成程序
4 PRAGMATIC PARANOIA 注重实效的多疑者
21. Design by Contract 按契约设计
22. Dead Programs Tell No Lies 死程序不会说谎
23. Assertive Programming 断言式编程
24. When to Use Exceptions 何时使用异常
25. How to Balance Resources 如何释放资源
5 BEND, OR BREAK 能屈能伸
26. Decoupling and the Law of Demeter 解耦与Demeter法则
27. Metaprogramming 元编程
28. Temporal Coupling 时间耦合
29. It's Just a View 它只是视图
30. Blackboards 黑板
6 WHILE YOU ARE CODING 当你编程时
31. Programming by Coincidence 靠巧合编程
32. Algorithm Speed 算法的速度
33. Refactoring 重构
34. Code That's Easy to Test 易测试的代码
35. Evil Wizards 邪恶的向导
7 BEFORE THE PROJECT 项目开始之前
36. The Requirements Pit 需求之坑
37. Solving Impossible Puzzles 解决不可解的谜题
38. Not Until You're Ready 直到准备好
39. The Specification Trap 规范陷阱
40. Circles and Arrows 圆圈与箭头
8 PRAGMATIC PROJECTS 注重实效的项目
41. Pragmatic Teams 注重实效的项目
42. Ubiquitous Automation 无所不在的自动化
43. Ruthless Testing 无情的测试
44. It's All Writing 代码文档不分家
45. Great Expectations 巨大的期望
46. Pride and Prejudice 傲慢与偏见
Appendices
A RESOURCES 资源
Professional Societies 专业协会
Building a Library 建立藏书阁
Internet Resources 因特网资源
Bibliography 参考文献
B ANSWERS TO EXERCISES 习题解答
INDEX 索引