新書推薦:
![可是,你还有你的人生呀](http://103.6.6.66/upload/mall/productImages/24/28/9787302662693.jpg)
《
可是,你还有你的人生呀
》
售價:HK$
67.9
![务必尽兴:我们穷极一生追求的到底是什么?](http://103.6.6.69/upload/mall/productImages/y24/8/9787115643629.jpg)
《
务必尽兴:我们穷极一生追求的到底是什么?
》
售價:HK$
68.8
![大哲学家](http://103.6.6.66/upload/mall/productImages/24/27/9787522528809.jpg)
《
大哲学家
》
售價:HK$
89.7
![乌程汉简萃编](http://103.6.6.66/upload/mall/productImages/24/26/9787547933510.jpg)
《
乌程汉简萃编
》
售價:HK$
112.7
![资治通鉴:帝王的镜子](http://103.6.6.66/upload/mall/productImages/24/26/9787559486417.jpg)
《
资治通鉴:帝王的镜子
》
售價:HK$
66.7
![从中亚古道到新大陆:哈佛汉学史话(在哈佛见证百年学术史的风云变迁)](http://103.6.6.66/upload/mall/productImages/24/27/9787532189960.jpg)
《
从中亚古道到新大陆:哈佛汉学史话(在哈佛见证百年学术史的风云变迁)
》
售價:HK$
78.2
![贞观政要:天可汗的时代](http://103.6.6.66/upload/mall/productImages/24/26/9787559486424.jpg)
《
贞观政要:天可汗的时代
》
售價:HK$
66.7
![左传:诸侯争盟记](http://103.6.6.66/upload/mall/productImages/24/26/9787559486448.jpg)
《
左传:诸侯争盟记
》
售價:HK$
55.2
|
編輯推薦: |
1.内容精炼实用。汇集了专业人员的建议和现实世界的真实例子,讲解9项基本代码整洁的指导原则。
2.将“减少和简化”的思想贯穿全文,通过正确的计算机编程方式和使用本书提出的恒久原则,用更少资源创造更多价值。
3.热销书作家Christian Mayer利用他的经验,在这本新书中他帮助许多人完善了他们的编码技能和产出能力。
|
內容簡介: |
大多数软件开发人员在复杂的代码上浪费了大量的时间。《整洁代码的艺术》提出的九大原则将教会您如何编写清晰、可维护且功能完备的代码。本书的指导原则很简单:缩减和简化,将精力投入到重要的工作上,省下大量的时间,卸下代码维护的重担。
热销书作者克里斯蒂安·迈尔在本书中利用他的经验帮助许多程序员完善他们的编码技能。他给出专业建议和真实例子,展示如何:利用80/20原则,专注于重要任务——要紧的那20%代码;避免孤立编码,创建小可行产品,获得早期反馈;编写整洁、简单的代码,排除混乱;避免导致代码过度复杂的过早优化;平衡您的目标、能力与反馈,达到高产出的心流状态;应用“做好一件事”哲学,极大地提升代码功能;利用“少即是多”哲学,设计有效用户界面;用“专注”原则贯穿所学的这些新技能。
本书采用Python作为示例语言,但以与语言无关的方式呈现概念,适合不同水平的程序员。
|
關於作者: |
克里斯蒂安·迈尔(Christian Mayer)是 Python 网站 Finxter 的创办人。 每年有超过 500 万用户在 Finxter 教育平台上学习写程序。他拥有计算机科学博士学位,出版过多本图书,包括 Python One-Liners: Write Concise, Eloquent Python Like a Professional(No Starch Press, 2020)、 Leaving the Rat Race with Python: An Insiders Guide to Freelance Developing( 2021)和“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
|
|