本书介绍了如何让简约设计的思想回归到计算机编程中,如何打造高效的软件开发团队。整本书的主旨是帮助读者成为一名更好的软件开发者。本书主要包括以下内容:开发者的基本素质、软件的复杂与简约、团队里的工程问题、理解软件和软件测试、持续改善软件。
目录
- 译者序
- 前言
- 关于作者
- 第一部分程序员应该了解的基本原则
- 第1章在你开始之前 3
- 第2章工程师的态度 5
- 第3章成为明星程序员的独特秘密 7
- 第4章两句话总结软件设计原则 9
- 第二部分软件的复杂性和它的起因
- 第5章复杂性的蛛丝马迹 13
- 第6章创造复杂性的方法之一:违反你承诺过的API约定 15
- 第7章什么时候不值得向后兼容 19
- 第8章复杂是牢笼 23
- 第三部分简约与软件设计
- 第9章设计要从头抓起 27
- 第10章预测未来的准确度 29
- 第11章简约与严格 33
- 第12章两遍已太多 37
- 第13章健壮的软件设计 41
- 第四部分调试代码
- 第14章什么是bug 51
- 第15章bug的源头 53
- 第16章确保它不会再发生 57
- 第17章调试代码的基本哲学 63
- 第五部分团队里的工程问题
- 第18章高效工程开发 71
- 第19章量化开发效率 79
- 第20章如何应对软件公司内代码的复杂性 85
- 第21章重构与业务功能有关 91
- 第22章善意和代码 97
- 第23章运营开源项目社区其实非常简单 101
- 第六部分理解软件
- 第24章什么是计算机 113
- 第25章软件组件:结构、操作和结果 117
- 第26章重新审视软件:SAR/ISAR概念详解 119
- 第27章软件即知识 123
- 第28章技术的使命 127
- 第29章简单地聊聊互联网隐私 129
- 第30章简约和安全 135
- 第31章测试驱动开发和观察循环 139
- 第32章测试的哲学 143
- 第七部分持续改善
- 第33章成功的秘密:持续改善 157
- 第34章如何找到持续改善的空间 161
- 第35章拒绝的力量 165
- 第36章为什么说程序员糟糕透了 169
- 第37章快速编程的秘诀:停止思考 175
- 第38章开发者的傲慢 181
- 第39章“一致”并不意味着“统一” 183
- 第40章用户有困难,开发者有方案 185
- 第41章即时满足=即时失败 189
- 第42章成功来自执行而非创新 193
- 第43章杰出的软件 195