《整洁代码的艺术》[德] 克里斯蒂安•迈尔(Christian Mayer) | PDF下载|ePub下载
类别: 科技
作者:
[德] 克里斯蒂安•迈尔(Christian Mayer)
出版社: 人民邮电出版社
出品方: 异步图书
原作名: The Art of Clean Code: Best Practices to Eliminate Complexity and Simplify Your Life
译者: 韩磊 / 严敏 / 马飞雄
出版年: 2023-6-15
页数: 176
定价: 79.8
装帧: 平装
ISBN: 9787115607478
出版社: 人民邮电出版社
出品方: 异步图书
原作名: The Art of Clean Code: Best Practices to Eliminate Complexity and Simplify Your Life
译者: 韩磊 / 严敏 / 马飞雄
出版年: 2023-6-15
页数: 176
定价: 79.8
装帧: 平装
ISBN: 9787115607478
内容简介 · · · · · ·
大多数软件开发人员在复杂的代码上浪费了大量的时间。《整洁代码的艺术》提出的九大原则将教会您如何编写清晰、可维护且功能完备的代码。本书的指导原则很简单:缩减和简化,将精力投入到重要的工作上,省下大量的时间,卸下代码维护的重担。
畅销书作者克里斯蒂安•迈尔在本书中利用他的经验帮助成千上万程序员完善他们的编码技能。他给出专业建议和真实例子,展示如何:
(1)利用80/20原则,专注于重要任务——最要紧的那20%代码;
(2)避免孤立编码,创建最小可行产品,获得早期反馈;
(3)编写整洁、简单的代码,消除混乱;
(4)避免导致代码过度复杂的过早优化;
(5)平衡您的目标、能力与反馈,达到高产出的心流状态;
(6)应用“做好一件事”哲学,极大地提升代码功能;
(7)利用“少即是多”哲学,设计高效用户界面;
(8)用“专注”原则贯穿所学的这些新技能。
作者简介 · · · · · ·
克里斯蒂安·迈尔(Christian Mayer)是知名 Python 网站 Finxter 的创办人。
每年有超过 500 万用户在 Finxter 教育平台上学习写程序。他拥有计算机科学博士学位,出版过多本图书,包括 Python One-Liners: Write Concise, Eloquent Python Like a Professional、 Leaving the Rat Race with Python: An Insider’s Guide to Freelance Developing和“Coffee Break Python”系列图书。
目录 · · · · · ·
第1章 复杂性如何危害生产力 1
1.1 何为复杂性 3
1.2 项目生命周期中的复杂性 4
1.2.1 规划 5
1.2.2 定义 5
1.2.3 设计 6
1.2.4 构建 6
1.2.5 测试 7
1.2.6 部署 9
1.3 软件和算法理论中的复杂性 9
1.4 学习中的复杂性 15
1.5 过程中的复杂性 17
1.6 日常生活中的复杂性,或谓七零八落 18
1.7 小结 19
第2章 80/20原则 21
2.1 80/20原则的基础概念 21
2.2 应用软件优化 22
2.3 生产力 23
2.4 成功指标 26
2.5 专注与帕累托分布 27
2.6 对程序员的意义 29
2.6.1 程序员的成功指标 30
2.6.2 真实世界中的帕累托分布 31
2.7 帕累托分布具备分形特征 34
2.8 80/20原则实践技巧 37
2.8.1 找到成功指标 37
2.8.2 找到生命中的大目标 37
2.8.3 寻找用较少资源成事的方法 37
2.8.4 反思自己的成功 37
2.8.5 反思自己的失败 38
2.8.6 阅读更多所在领域的著作 38
2.8.7 花费大量时间改进和调优既有产品 38
2.8.8 微笑 38
2.8.9 不做降低价值的事 38
2.9 资料 39
第3章 打造最小可行产品 41
3.1 问题场景 41
3.1.1 失去动力 43
3.1.2 分心 43
3.1.3 超时 43
3.1.4 缺乏回应 44
3.1.5 错误假设 44
3.1.6 不必要的复杂性 45
3.2 构建最小可行产品 46
3.2.1 最小可行产品的四大要点 49
3.2.2 最小可行产品的好处 50
3.2.3 隐身编程模式与最小可行产品手段 51
3.3 小结 51
第4章 编写整洁和简单的代码 53
4.1 为何要写整洁代码 53
4.2 编写整洁代码的原则 55
4.2.1 原则1:心怀全局 56
4.2.2 原则2:站到巨人肩上 57
4.2.3 原则3:为人写代码,而不是为机器写代码 58
4.2.4 原则4:正确命名 59
4.2.5 原则5:一以贯之地遵循标准 60
4.2.6 原则6:使用注释 62
4.2.7 原则7:避免非必要注释 64
4.2.8 原则8:最小意外原则 66
4.2.9 原则9:别重复自己 66
4.2.10 原则10:单一权责原则 68
4.2.11 原则11:测试 71
4.2.12 原则12:小即是美 72
4.2.13 原则13:得墨忒耳律 74
4.2.14 原则14:您不会需要它 78
4.2.15 原则15:别用太多缩进层级 79
4.2.16 原则16:使用指标 81
4.2.17 原则17:童子军军规和重构 81
4.3 小结 82
第5章 过早优化是万恶之源 85
5.1 6种过早优化的类型 85
5.1.1 优化函数 86
5.1.2 优化特性 86
5.1.3 优化规划 86
5.1.4 优化可扩展性 87
5.1.5 优化测试设计 87
5.1.6 优化面向对象世界建设 88
5.2 性能调优的6条提示 88
5.2.1 先度量再改进 89
5.2.2 帕累托为王 89
5.2.3 算法优化获胜 91
5.2.4 缓存万岁 92
5.2.5 少即是多 94
5.2.6 懂得何时停止 95
5.3 小结 95
第6章 心流 97
6.1 什么是心流 97
6.2 如何达到心流状态 99
6.2.1 清晰的目标 99
6.2.2 反馈机制 99
6.2.3 平衡机会与能力 100
6.3 给程序员的心流提示 101
6.4 小结 102
6.5 资料 103
第7章 做好一件事,以及其他Unix原则 105
7.1 Unix的崛起 105
7.2 Unix哲学概览 106
7.3 15条有用的Unix原则 108
7.3.1 每个函数做好一件事 108
7.3.2 简单胜于复杂 111
7.3.3 小即是美 112
7.3.4 尽快打造原型 114
7.3.5 可移植性胜于效率 114
7.3.6 在纯文本文件中保存数据 116
7.3.7 使用软件杠杆获得优势 118
7.3.8 避免使用强制式用户界面 119
7.3.9 把每个程序都写成过滤器 123
7.3.10 更差即更好 125
7.3.11 整洁代码胜于机灵代码 125
7.3.12 将程序设计成能与其他程序相连接 126
7.3.13 编写健壮的代码 127
7.3.14 尽量修复——但尽早曝露失败 128
7.3.15 避免手工操作——尽量编写能写程序的程序 129
7.4 小结 130
7.5 资料 131
第8章 设计中的少即是多 133
8.1 移动电话演进过程中的极简主义 133
8.2 搜索中的极简主义 134
8.3 拟物设计 136
8.4 如何实现极简设计 137
8.4.1 留白 137
8.4.2 去除设计元素 138
8.4.3 移除特性 140
8.4.4 减少字体和颜色 140
8.4.5 一以贯之 141
8.5 小结 142
第9章 专注 143
9.1 对抗复杂性的武器 143
9.2 统一原则 146
9.2.1 80/20原则 146
9.2.2 打造最小可行产品 146
9.2.3 编写整洁和简单的代码 146
9.2.4 过早优化是万恶之源 147
9.2.5 心流 147
9.2.6 做好一件事(Unix) 147
9.2.7 设计中的少即是多 148
9.3 小结 148
作者来信 149
· · · · · ·
1.1 何为复杂性 3
1.2 项目生命周期中的复杂性 4
1.2.1 规划 5
1.2.2 定义 5
1.2.3 设计 6
1.2.4 构建 6
1.2.5 测试 7
1.2.6 部署 9
1.3 软件和算法理论中的复杂性 9
1.4 学习中的复杂性 15
1.5 过程中的复杂性 17
1.6 日常生活中的复杂性,或谓七零八落 18
1.7 小结 19
第2章 80/20原则 21
2.1 80/20原则的基础概念 21
2.2 应用软件优化 22
2.3 生产力 23
2.4 成功指标 26
2.5 专注与帕累托分布 27
2.6 对程序员的意义 29
2.6.1 程序员的成功指标 30
2.6.2 真实世界中的帕累托分布 31
2.7 帕累托分布具备分形特征 34
2.8 80/20原则实践技巧 37
2.8.1 找到成功指标 37
2.8.2 找到生命中的大目标 37
2.8.3 寻找用较少资源成事的方法 37
2.8.4 反思自己的成功 37
2.8.5 反思自己的失败 38
2.8.6 阅读更多所在领域的著作 38
2.8.7 花费大量时间改进和调优既有产品 38
2.8.8 微笑 38
2.8.9 不做降低价值的事 38
2.9 资料 39
第3章 打造最小可行产品 41
3.1 问题场景 41
3.1.1 失去动力 43
3.1.2 分心 43
3.1.3 超时 43
3.1.4 缺乏回应 44
3.1.5 错误假设 44
3.1.6 不必要的复杂性 45
3.2 构建最小可行产品 46
3.2.1 最小可行产品的四大要点 49
3.2.2 最小可行产品的好处 50
3.2.3 隐身编程模式与最小可行产品手段 51
3.3 小结 51
第4章 编写整洁和简单的代码 53
4.1 为何要写整洁代码 53
4.2 编写整洁代码的原则 55
4.2.1 原则1:心怀全局 56
4.2.2 原则2:站到巨人肩上 57
4.2.3 原则3:为人写代码,而不是为机器写代码 58
4.2.4 原则4:正确命名 59
4.2.5 原则5:一以贯之地遵循标准 60
4.2.6 原则6:使用注释 62
4.2.7 原则7:避免非必要注释 64
4.2.8 原则8:最小意外原则 66
4.2.9 原则9:别重复自己 66
4.2.10 原则10:单一权责原则 68
4.2.11 原则11:测试 71
4.2.12 原则12:小即是美 72
4.2.13 原则13:得墨忒耳律 74
4.2.14 原则14:您不会需要它 78
4.2.15 原则15:别用太多缩进层级 79
4.2.16 原则16:使用指标 81
4.2.17 原则17:童子军军规和重构 81
4.3 小结 82
第5章 过早优化是万恶之源 85
5.1 6种过早优化的类型 85
5.1.1 优化函数 86
5.1.2 优化特性 86
5.1.3 优化规划 86
5.1.4 优化可扩展性 87
5.1.5 优化测试设计 87
5.1.6 优化面向对象世界建设 88
5.2 性能调优的6条提示 88
5.2.1 先度量再改进 89
5.2.2 帕累托为王 89
5.2.3 算法优化获胜 91
5.2.4 缓存万岁 92
5.2.5 少即是多 94
5.2.6 懂得何时停止 95
5.3 小结 95
第6章 心流 97
6.1 什么是心流 97
6.2 如何达到心流状态 99
6.2.1 清晰的目标 99
6.2.2 反馈机制 99
6.2.3 平衡机会与能力 100
6.3 给程序员的心流提示 101
6.4 小结 102
6.5 资料 103
第7章 做好一件事,以及其他Unix原则 105
7.1 Unix的崛起 105
7.2 Unix哲学概览 106
7.3 15条有用的Unix原则 108
7.3.1 每个函数做好一件事 108
7.3.2 简单胜于复杂 111
7.3.3 小即是美 112
7.3.4 尽快打造原型 114
7.3.5 可移植性胜于效率 114
7.3.6 在纯文本文件中保存数据 116
7.3.7 使用软件杠杆获得优势 118
7.3.8 避免使用强制式用户界面 119
7.3.9 把每个程序都写成过滤器 123
7.3.10 更差即更好 125
7.3.11 整洁代码胜于机灵代码 125
7.3.12 将程序设计成能与其他程序相连接 126
7.3.13 编写健壮的代码 127
7.3.14 尽量修复——但尽早曝露失败 128
7.3.15 避免手工操作——尽量编写能写程序的程序 129
7.4 小结 130
7.5 资料 131
第8章 设计中的少即是多 133
8.1 移动电话演进过程中的极简主义 133
8.2 搜索中的极简主义 134
8.3 拟物设计 136
8.4 如何实现极简设计 137
8.4.1 留白 137
8.4.2 去除设计元素 138
8.4.3 移除特性 140
8.4.4 减少字体和颜色 140
8.4.5 一以贯之 141
8.5 小结 142
第9章 专注 143
9.1 对抗复杂性的武器 143
9.2 统一原则 146
9.2.1 80/20原则 146
9.2.2 打造最小可行产品 146
9.2.3 编写整洁和简单的代码 146
9.2.4 过早优化是万恶之源 147
9.2.5 心流 147
9.2.6 做好一件事(Unix) 147
9.2.7 设计中的少即是多 148
9.3 小结 148
作者来信 149
· · · · · ·
发表回复
要发表评论,您必须先登录。