书籍详情
简约之美:软件设计之道
作者:(美)Max Kanat-Alexander 著 余晟 译
出版社:人民邮电出版社
出版时间:2013-01-01
ISBN:9787115302380
定价:¥25.00
购买这本书可以去
内容简介
优秀的软件设计简单明了。不过很遗憾,如今的计算机程序基本上都很复杂,恐怕无人能够确切知道所有代码都是怎么运转的。这本简明《简约之美:软件设计之道》旨在帮助读者利用科学规则掌握优秀设计的基础知识,《简约之美:软件设计之道》中给出的法则适用于所有编程语言和软件项目,并且永远有效。不论是刚入门的程序员、资深软件工程师还是没有技术背景的管理人员,读过本书之后,都将能够理解如何创建靠谱的软件项目计划、确定更好的系统模型和架构。为什么软件设计成了一门缺失的科学软件和优秀软件设计的终极目标确定现在以及将来软件设计的价值所在用真实案例证明系统如何随时间变化而变化好的设计,能适应外界尽可能多的变化,而软件自身的变化尽可能少代码越简洁,未来做改动的难度就越低测试越准确,软件性能就越有把握
作者简介
Max Kanant-Alexander,开源项目 Bugzilla总架构师, Google软件工程师,作家, 8岁开始修电脑, 14岁开始编程。 Wdesimphicity.com和 fedorafaq.com网站维护者,目前居住在北加州。译者简介:余晟,毕业于东北师范大学计算机系,副修中文,非正统型技术爱好者。曾任抓虾网、银杏泰克主力程序员,盛大创新院高级研究员,现任华南某电商公司技术总监。坚信计算机可以无限延伸人的能力,前提是人必须理解计算机的逻辑,所以对任何技术都不应该浅尝辄止,仅仅满足于“会用”。
目录
目 录
第1章 引言 1
1.1 计算机出了什么问题? 3
1.2 程序究竟是什么? 5
第2章 缺失的科学 9
2.1 程序员也是设计师 12
2.2 软件设计的科学 13
2.3 为什么不存在软件设计科学 15
第3章 软件设计的推动力 19
第4章 未来 27
4.1 软件设计的方程式 29
4.1.1 价值 30
4.1.2 成本 31
4.1.3 维护 32
4.1.4 完整的方程式 33
4.1.5 化简方程式 33
4.1.6 你需要什么,不需要什么 34
4.2 设计的质量 36
4.3 不可预测的结果 37
第5章 变化 41
5.1 真实世界中程序的变化 43
5.2 软件设计的三大误区 46
5.2.1 编写不必要的代码 46
5.2.2 代码难以修改 48
5.2.3 过分追求通用 51
5.3 渐进式开发及设计 53
第6章 缺陷与设计 55
6.1 如果这不是问题…… 57
6.2 避免重复 59
第7章 简洁 61
7.1 简洁与软件设计方程式 65
7.2 简洁是相对的 65
7.3 简洁到什么程度? 67
7.4 保持一致 69
7.5 可读性 71
7.5.1 命名 72
7.5.2 注释 73
7.6 简洁离不开设计 74
第8章 复杂性 77
8.1 复杂性与软件的用途 81
8.2 糟糕的技术 83
8.2.1 生存潜力 83
8.2.2 互通性 84
8.2.3 对品质的重视 84
8.2.4 其他原因 85
8.3 复杂性及错误的解决方案 85
8.4 复杂问题 86
8.5 应对复杂性 87
8.5.1 把某个部分变简单 89
8.5.2 不可解决的复杂性 90
8.6 推倒重来 90
第9章 测试 93
附录A 软件设计的规则 97
附录B 事实、规则、条例、定义 101
第1章 引言 1
1.1 计算机出了什么问题? 3
1.2 程序究竟是什么? 5
第2章 缺失的科学 9
2.1 程序员也是设计师 12
2.2 软件设计的科学 13
2.3 为什么不存在软件设计科学 15
第3章 软件设计的推动力 19
第4章 未来 27
4.1 软件设计的方程式 29
4.1.1 价值 30
4.1.2 成本 31
4.1.3 维护 32
4.1.4 完整的方程式 33
4.1.5 化简方程式 33
4.1.6 你需要什么,不需要什么 34
4.2 设计的质量 36
4.3 不可预测的结果 37
第5章 变化 41
5.1 真实世界中程序的变化 43
5.2 软件设计的三大误区 46
5.2.1 编写不必要的代码 46
5.2.2 代码难以修改 48
5.2.3 过分追求通用 51
5.3 渐进式开发及设计 53
第6章 缺陷与设计 55
6.1 如果这不是问题…… 57
6.2 避免重复 59
第7章 简洁 61
7.1 简洁与软件设计方程式 65
7.2 简洁是相对的 65
7.3 简洁到什么程度? 67
7.4 保持一致 69
7.5 可读性 71
7.5.1 命名 72
7.5.2 注释 73
7.6 简洁离不开设计 74
第8章 复杂性 77
8.1 复杂性与软件的用途 81
8.2 糟糕的技术 83
8.2.1 生存潜力 83
8.2.2 互通性 84
8.2.3 对品质的重视 84
8.2.4 其他原因 85
8.3 复杂性及错误的解决方案 85
8.4 复杂问题 86
8.5 应对复杂性 87
8.5.1 把某个部分变简单 89
8.5.2 不可解决的复杂性 90
8.6 推倒重来 90
第9章 测试 93
附录A 软件设计的规则 97
附录B 事实、规则、条例、定义 101
猜您喜欢