简约之美:软件设计之道
Max Kanat-Alexander
余晟 译
出版时间:2012年12月
页数:105
优秀的软件设计简单明了。不过很遗憾,如今的计算机程序基本上都很复杂,恐怕无人能够确切知道所有代码都是怎么运转的。这本简明教程旨在帮助读者利用科学规则掌握优秀设计的基础知识,书中给出的法则适用于所有编程语言和软件项目,并且永远有效。
不论是刚入门的程序员、资深软件工程师还是没有技术背景的管理人员,读过本书之后,都将能够理解如何创建靠谱的软件项目计划、确定更好的系统模型和架构。

· 为什么软件设计成了一门缺失的科学
· 软件和优秀软件设计的终极目标
· 确定现在以及将来软件设计的价值所在
· 用真实案例证明系统如何随时间变化而变化
· 好的设计能适应外界尽可能多的变化,而软件自身的变化尽可能少
· 代码越简洁,未来做改动的难度就越低
· 测试越准确,软件性能就越有把握

本书原版提供电子书,有PDF、EPUB、Mobi、APK和DAISY等多种版本供选择,所有版本都是没有数字版权管理的(DRM-free)。读者可登录oreilly.com购买,购书者可享受免费修订版本。
  1. 第1章  引言  
  2. 1.1  计算机出了什么问题?  
  3. 1.2  程序究竟是什么?  
  4. 第2章  缺失的科学  
  5. 2.1  程序员也是设计师
  6. 2.2  软件设计的科学
  7. 2.3  为什么不存在软件设计科学
  8. 第3章  软件设计的推动力
  9. 第4章  未来
  10. 4.1  软件设计的方程式
  11. 4.1.1  价值
  12. 4.1.2  成本
  13. 4.1.3  维护
  14. 4.1.4  完整的方程式
  15. 4.1.5  化简方程式
  16. 4.1.6  你需要什么,不需要什么
  17. 4.2  设计的质量
  18. 4.3  不可预测的结果
  19. 第5章  变化
  20. .5.1  真实世界中程序的变化
  21. 5.2  软件设计的三大误区
  22. 5.2.1  编写不必要的代码
  23. 5.2.2  代码难以修改
  24. 5.2.3  过分追求通用
  25. 5.3  渐进式开发及设计
  26. 第6章  缺陷与设计
  27. 6.1  如果这不是问题……
  28. 6.2  避免重复
  29. 第7章  简洁
  30. 7.1  简洁与软件设计方程式
  31. 7.2  简洁是相对的
  32. 7.3  简洁到什么程度?
  33. 7.4  保持一致
  34. 7.5  可读性
  35. 7.5.1  命名
  36. 7.5.2  注释
  37. 7.6  简洁离不开设计
  38. 第8章  复杂性
  39. 8.1  复杂性与软件的用途
  40. 8.2  糟糕的技术
  41. 8.2.1  生存潜力
  42. 8.2.2  互通性
  43. 8.2.3  对品质的重视
  44. 8.2.4  其他原因
  45. 8.3  复杂性及错误的解决方案
  46. 8.4  复杂问题
  47. 8.5  应对复杂性
  48. 8.5.1  把某个部分变简单
  49. 8.5.2  不可解决的复杂性
  50. 8.6  推倒重来
  51. 第9章  测试
  52. 附录a  软件设计的规则
  53. 附录b  事实、规则、条例、定义
书名:简约之美:软件设计之道
作者:Max Kanat-Alexander
译者:余晟 译
国内出版社:中国电力出版社
出版时间:2012年12月
页数:105
书号:978-7-115-30238-0
原版书书名:Code Simplicity
原版书出版商:O'Reilly Media
Max Kanat-Alexander
 
Max Kanat-Alexander是开源项目bugzilla总架构师,google软件工程师,作家,8岁开始修电脑,14岁开始编程。codesimplicity.com和fedorafaq.org网站维护者,现居北加州。
余晟 毕业于东北师范大学计算机系,副修中文,非正统型技术爱好者。曾任抓虾网、银杏泰克主力程序员,盛大创新院高级研究员,现任华南某电商公司技术总监。坚信计算机可以无限延伸人的能力,前提是人必须理解计算机的逻辑,所以对任何技术都不应该浅尝辄止,仅仅满足于“会用”。