《简约之美:软件设计之道》将软件设计作为一门严谨的科学,阐述了开发出优雅简洁的代码所应该遵循的基本原则。作者从为什么以前软件设计没有像数学等学科一样成为一门科学开始入手,道出了软件以及优秀的软件设计的终极目标,并给出了具体的指导规则。
目录
第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
《带上"我"找创意》内容简介:无论何时何地,身处哪里,都请把自己看成是一个创意的发现者,因为你周边的一切充满着新奇和有趣。
《神一样的产品经理》内容简介:《神一样的产品经理:基于移动与互联网产品实践》系统阐述了移动与互联网产品从无到有、从有到优的
《Maya 2013完全学习手册》内容简介:本书是“完全学习手册”系列图书中的一本。《Maya 2013完全学习手册》遵循人们的学习规律和方
本书共分10章,除了第1章的通信系统概论之外,余下的章节主要介绍通信的信息理论和传输理论,内容包括:通信的信息理论基础、通信
《看得懂的金融投资课》内容简介:什么是货币?什么是金融?你要怎么做才能获得更高的、更稳健的投资收益,更好地分析投资的风险,
《中国式价值投资(修订版)》内容简介:2009年6月,李驰在北京见到索罗斯,提出了一个思索很久的问题:能不能既做巴菲特,又做索罗
信息系统项目管理师教程-(第3版) 本书特色 本书是全国计算机技术与软件专业技术资格(水平)考试办公室组织编写的考试指定用书,本书根据2017年出版的《信息系统...
VB-MAPP语言行为里程碑评估及安置程序-(全2册) 本书特色 这套《语言行为里程碑及安置程序》为教育人员和家长对孤独症和其他发展性障碍孩子的学习、语言和社会...
游戏业在过去30年逐渐成熟,已经成为一种重要的娱乐方式。游戏设计是一项具有创造性、专业性、艺术性的工作。本书是在作者为Sony
GPS导航原理与应用 本书特色 本书阐述了GPS导航及其应用的基本原理,全书共分为十章。前三章介绍了全球定位系统(GPS)的发展概况、系统的构成、导航定位的时空...
本书针对Photoshop用户在学习过程中遇到的困惑,深入剖析了Photoshop图像处理的原理和方法。本书以颜色理论和选择(道)两条主线,
书中分为十二个章节,以居住者的角度来讨论「舒适住宅空间」的十二项条件。本书作者对围绕住宅和生活周边的日常琐事以及生活的微
《深入理解Java7:核心技术与最佳实践》的主要内容可分为三大部分:第一部分是1-6章,全面阐释Java7在语法、JVM、类库和API等方面
《硬件安全攻防大揭秘》内容简介:本书是一本硬件安全攻防方面的综合性书籍。前三章介绍了硬件安全研究的基本概念、常用的设备工具
《剧本游戏写作入门》内容简介:本书可作为新手编剧进入剧本游戏行业的入门书。本书从写作要点的角度出发,浅析国产剧本游戏的发展
《我就不吃饭(全6册)》内容简介:关于蔬菜,你知道的有多少?孩子挑食、厌食是不是让你感到心急如焚?本书详细讲述了18种常见食材
《淘宝天猫开店必备技能速查速用手册》内容简介:《淘宝天猫开店必备技能速查速用手册》系统、全面地介绍了在淘宝和天猫平台上开店
《Linux系统管理技术手册(第2版)》延续了《Linux系统管理技术手册(第2版)》前一版以及《uMx系统管理技术手册》的讲解风格,以当前
C语言参悟之旅 本书特色 全书共分11章,系统详尽地介绍了c语言程序设计的基本方法,主要包括程序设计与c语言概述,数据及数据类型,运算符、表达式和语句,流程控制...
《Swift语言实战入门(第2版)》内容简介:2014年的苹果WWDC开发者大会上,一款全新的编程语言——Swift语言被公布于世。本书也在同