《简约之美:软件设计之道》将软件设计作为一门严谨的科学,阐述了开发出优雅简洁的代码所应该遵循的基本原则。作者从为什么以前软件设计没有像数学等学科一样成为一门科学开始入手,道出了软件以及优秀的软件设计的终极目标,并给出了具体的指导规则。
目录
第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
本书是一本专门介绍IPTV技术的图书,书中全面而系统地介绍了IPTV的体系结构、基本原理和各种关键技术,包括前端系统、编码技术、
《HBase原理与实践》内容简介:本书系统介绍HBase基本原理与运行机制,融入了作者多年的开发经验与实践技巧。主要内容包括:HBase的
ThisisacomprehensiveaccountofthesemanticsandtheimplementationofthewholeLispfamil...
《把你的草稿钉在墙上》是在美国华盛顿大学视觉传达专业学习的中国学生刘兰兰,对于其专业学习的笔记、总结和感受,深入记录了她
《零基础学Java(第5版)》内容简介:Java是使用面很广的面向对象的开发语言。本书站在零基础学习的角度,通过通俗易懂的语言和丰富
《反腐大案》内容简介:近年来,高官落马案件频发,人们对于“贪官”“反腐”等相关事件的关注度越来越高的同时,对于如何更加有效
《持久内存架构与工程实践》内容简介:《持久内存架构与工程实践》以工程实践为导向,详细阐述了持久内存的整体技术节。对硬件和固
《2015年考研政治高分练习题库》内容简介:本书由权威专家全新编写—— 全:全面覆盖大纲知识点。专:专门针对单项选择题与多项选择
《如何成为质性研究专家(英文版)(第3版)》对质性研究进行了简要而全面的论述。它不仅能够帮助读者理解质性研究方法,还能帮助他们
《李济平 邓定海传》内容简介:本书为雨花台烈士传丛书第四批之一,为李济、邓定海烈士的合传。李济于1927年加入中国,曾任扬州地委
《Visual C++程序开发参考手册》内容简介:本书是一本VisualC 综合参考手册,介绍了VisualC 程序开发中涉及的各种函数、类及方法。
《3D打印:从全面了解到亲手制作》一书不仅向读者全面介绍3D打印这一新兴技术,同时通过详细的引导,帮助零基础的爱好者们组装一
《人机共生》内容简介:智能时代汹汹来袭,未来99%的人当真会成为无用阶层,只要极少数人才会成为超级人类?当智能机器越来越自主、
《JavaWeb开发实战宝典》从初学者的角度出发,通过通俗易懂的语言、丰富实用的实例,详细介绍了使用Java语言和开源框架进行Web程
ThisbookwillintroduceyoutothePythonprogramminglanguage.It’saimedatbeginningprogr...
诠释价值万亿的商业生活新事实顺势重构既有的造富大趋势★“一带一路”、亚投行、丝路基金等重磅战略无一例外地指向中国西边,全
《政府2.0:新常态下的政府治理创新》内容简介:国家治理体系和治理能力现代化的关键在于政府治理创新。在经济新常态下,政府能否通
《你早该这样玩小米手机》内容简介:《你早该这样玩小米手机》教您如何迅速成为小米手机高手。全书对小米手机好玩好用的部分进行精
《实现领域驱动设计》内容简介:领域驱动设计(DDD)是教我们如何做好软件的,同时也是教我们如何更好地使用面向对象技术的。它为我
繁琐的CSS规则和各浏览器支持度的不统一素来都为网页设计师所诟病。通过多年潜心研究与深入测试,作者归纳组合出了多达350条的设