51Testing独家连载:整洁代码的艺术

发表于:2023-6-07 09:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:克里斯蒂安·迈尔    来源:51Testing软件测试网原创

分享:
  目录
  第 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
33/3<123
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号