《简约之美:软件设计之道》将软件设计作为一门严谨的科学,阐述了开发出优雅简洁的代码所应该遵循的基本原则。作者从为什么以前软件设计没有像数学等学科一样成为一门科学开始入手,道出了软件以及优秀的软件设计的终极目标,并给出了具体的指导规则。
目录
第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
《自然与人工系统中的适应:理论分析及其在生物控制和人工智能中的应用》是遗传算法开山之作,以适应性为主题,贯穿生物、经济、人
《精通搜索分析》是一本关于搜索分析的综合性著作,致力于分析和优化站内搜索、移动设备和社会化媒体。本书将营销实践和搜索引擎
本书是一位计算机专家与一位人类学家思想碰撞的结晶,针对那些无法通过传统方法解决的系统问题,为我们介绍了分析与理解这类问题
细说AJAX与jQuery 本书特色 本书主要学习JavaScript中两个**的知识点:*个为AJAX,它是客户端JavaScript与后端服务器进行交流的一...
《好玩的生物学:陪中学生一起阅读生命》内容简介:本书是一本适合全学段中学生进行严肃阅读的生物学科普读物。全书以“系统”“适
本书在一开始就给出一个概述和指南,论述了从grep到sed再到awk不断改进的功能。sed和awk具有相同的命令行语法,以脚本的形式接收
《简笔画5000例,一本就够(动物篇)》内容简介:简笔画几乎是每个人孩提时代绘画生涯的开始。简单的线条,可爱的形状,总是能释放
大約有90%的產品開發案是失敗的,其中30%並沒有開發出任何產品,其他的雖然有產品問世,但人們不喜歡,或從來不使用;即便使用了
《自然语言处理实战:预训练模型应用及其产品化》内容简介:本书分为三部分。第1部分聚焦于自然语言处理的高层次概述,包括自然语言
《市场研究与应用》收集、整理、归纳和丰富了市场研究的最新成果,内容涉及市场细分与定位、产品测试、营销渠道及其管理研究体系
喧嚣商战,细数李彦宏与新浪、网易、搜狐、淘宝掌门人的恩怨纠葛!风云起伏,独创划分十年百度的“三大帝国”断代史!独门秘籍,
《网络空间测绘技术与实践:让互联网情报服务于网络安全》内容简介:这是一本对网络空间测绘技术原理、工具使用、最佳实践进行全面
《实用精神卫生诊疗技能手册》内容简介:本书涵盖了精神病学的重点内容,从精神检查评估、常见心理治疗方法、精神卫生与多学科诊疗
《那些脑洞大开的武器》内容简介:军事装备中有那么一些武器,它们有着奇特的设计、用途或外观,蕴含着设计者的奇思妙想。在这些武
《子义手抄报》内容简介:这是一本指导学生制作黑板报和手抄报的工具书。这本书里的画风清丽,为学生提供了丰富的版式设计和内容选
《5G开启万物智能》内容简介:本书重点描述了5G技术的发展历程、特征、应用场景、未来趋势等,剖析了5G在工业、教育、医疗、VR/AR等
《华尔街最受欢迎的投资课》内容简介:100多年来,华尔街诞生了数不清的投资大师,如沃伦?巴菲特、彼得?林奇、乔治?索罗斯、本杰明
《城乡一体化发展》内容简介:这是一本全方位展现苏南地区在现代化建设中城乡一体化发展成就的重要著作。在本书作者秉持客观公正的
《捍卫隐私》内容简介:你的密码可以被轻易破解? 除了你,还有谁在读你的电子邮件? 你的手机就是一个窃听器? 勒索病毒是如何一步
《Java虚拟机精讲》内容简介:HotSpot VM是目前市面上高性能JVM的代表作之一,它采用解释器+JIT编译器的混合执行引擎,使得Java程序