《简约之美:软件设计之道》将软件设计作为一门严谨的科学,阐述了开发出优雅简洁的代码所应该遵循的基本原则。作者从为什么以前软件设计没有像数学等学科一样成为一门科学开始入手,道出了软件以及优秀的软件设计的终极目标,并给出了具体的指导规则。
目录
第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
计算机:一部历史 本书特色 《计算机——一部历史》(彼得·本特利著), 给大众读者写的计算机科普读物,零门槛入门计算机 科学。讲述计算机背后鲜为人知的故事,普及...
《世界文明孤独史(上下册)》内容简介:本书旨在探索世界诸文明包括华夏文明的根源,凭借史前灵知体系(包括灵知义理、灵知神话、
基于实用、实践、前瞻性、学习的原则,笔者精选了近300段JavaScript代码和400种解决方案,覆盖了几乎所有的脚本处理模块,最大程
《梳理:从混乱到有序,人生提效50%》内容简介:毕业在即,考研还是工作?自己想要的到底是什么?很迷茫; 逛知乎、看豆瓣、浏览微
全面讲述React技术栈的第一本原创图书,purerender专栏主创倾力打造覆盖React、Flux、Redux及可视化,帮助开发者在实践中深入理解
C#数据库系统开发完全手册-数据库管理系统开发从技术到实践(附光盘) 本书特色 本书全面、系统地介绍了使用C#进行数据库应用程序开发必须掌握的技术、方法和过程。...
平面设计到底是什么而存在的呢?让我们将这个学科拆解成一些关键的元素来分析。本书既分析了平面设计的传统实践,例如编排样式、
《信息系统项目管理师考试试题分类精解(第5版)》内容简介:本书由希赛教育软考学院组织编写,作为计算机技术与软件专业技术资格(
实际案例分析是一种从用户角度定义软件系统外在特征的方法。本书对这种前沿的软件开发技术提供了清晰、实用的介绍。通过诸多实例
《跟小贤学运营》内容简介:这是一部能帮助运营新人快速构建互联网运营方法论和快速掌握互联网运营实操的著作,是小贤在百度贴吧和
《重复数据删除技术:面向大数据管理的缩减技术》内容简介:本书面向从事大数据存储系统设计及相关技术研究和开发工作的读者。既可
FromCharlesM.Kozierok,thecreatorofthehighlyregardedwww.pcguide.com,comesTheTCP/I...
《推开红酒的门》内容简介:葡萄酒的世界很有趣,但是初学者往往遇上麻烦:在餐厅,看着酒单上密密麻麻的字一脸懵;面对货架上琳琅
在不远的未来,日常物品将能够迅速理解我们的需求,改善我们的生活,并随处可见。为了实现这一预期,我们需要能够发现用户使用产
《Origin8.0实用教程:科技作图与数据分析》主要按Origin基础、数据管理、科技作图、数据分析和自动化编程为系统框架,以模块功能
《手把手教你学:剪发技术超精图解(上)》内容简介:想要成为一名优秀的发型师,首先要掌握扎实的剪发基础技能。只有摸清骨骼要点
Haveyoueverneededtocreateaniconforsomethingandnotknownwheretostart?Howdoyougoabo...
深入理解计算机系统-原书第3版 本书特色 和第2版相比,本版内容上*大的变化是,从以IA32和x86-64为基础转变为完全以x86-64为基础。主要更新如下:&...
《孩子成才的秘密》内容简介:家庭教育专家大黄蜂老师(刘先杰)认为,作为父母,有些事情是需要提前了解的。而家庭教育,是最不能
《客户关系管理》内容简介:本书根据学生的思维方式和有关客户关系管理的最新理论及实践,结合客户关系管理既是理念又是软件的情况