内容推荐 大多数软件开发人员在复杂的代码上浪费了大量的时间。《整洁代码的艺术》提出的九大原则将教会您如何编写清晰、可维护且功能完备的代码。本书的指导原则很简单:缩减和简化,将精力投入到重要的工作上,省下大量的时间,卸下代码维护的重担。 畅销书作者克里斯蒂安·迈尔在本书中利用他的经验帮助许多程序员完善他们的编码技能。他给出专业建议和真实例子,展示如何:利用8020原则,专注于重要任务——最要紧的那20%代码;避免孤立编码,创建最小可行产品,获得早期反馈;编写整洁、简单的代码,排除混乱;避免导致代码过度复杂的过早优化;平衡您的目标、能力与反馈,达到高产出的心流状态;应用“做好一件事”哲学,极大地提升代码功能;利用“少即是多”哲学,设计有效用户界面;用“专注”原则贯穿所学的这些新技能。 本书采用Python作为示例语言,但以与语言无关的方式呈现概念,适合不同水平的程序员。 作者简介 韩磊,是IT产品与运营专家、IT图书专业译者,译有《代码整洁之道》《梦断代码》《C#编程风格》等多部计算机图书。曾担任CSDN副总经理、《程序员》总编辑、广东二十一世纪传媒股份有限公司新媒体事业部总经理等职,现任AR初创企业亮风台广州公司总经理。 目录 第1章 复杂性如何危害生产力 1.1 何为复杂性 1.2 项目生命周期中的复杂性 1.2.1 规划 1.2.2 定义 1.2.3 设计 1.2.4 构建 1.2.5 测试 1.2.6 部署 1.3 软件和算法理论中的复杂性 1.4 学习中的复杂性 1.5 过程中的复杂性 1.6 日常生活中的复杂性,或谓七零八落 1.7 小结 第2章 80/20原则 2.1 80/20原则的基础概念 2.2 应用软件优化 2.3 生产力 2.4 成功指标 2.5 专注与帕累托分布 2.6 对程序员的意义 2.6.1 程序员的成功指标 2.6.2 真实世界中的帕累托分布 2.7 帕累托分布具备分形特征 2.8 80/20原则实践技巧 2.8.1 找到成功指标 2.8.2 找到生命中的大目标 2.8.3 寻找用较少资源成事的方法 2.8.4 反思自己的成功 2.8.5 反思自己的失败 2.8.6 阅读更多所在领域的著作 2.8.7 花费大量时间改进和调优既有产品 2.8.8 微笑 2.8.9 不做降低价值的事 2.9 资料 第3章 打造最小可行产品 3.1 问题场景 3.1.1 失去动力 3.1.2 分心 3.1.3 超时 3.1.4 缺乏回应 3.1.5 错误假设 3.1.6 不必要的复杂性 3.2 构建最小可行产品 3.2.1 最小可行产品的四大要点 3.2.2 最小可行产品的好处 3.2.3 隐身编程模式与最小可行产品手段 3.3 小结 第4章 编写整洁和简单的代码 4.1 为何要写整洁代码 4.2 编写整洁代码的原则 4.2.1 原则1:心怀全局 4.2.2 原则2:站到巨人肩上 4.2.3 原则3:为人写代码,而不是为机器写代码 4.2.4 原则4:正确命名 4.2.5 原则5:一以贯之地遵循标准 4.2.6 原则6:使用注释 4.2.7 原则7:避免非必要注释 4.2.8 原则8:最小意外原则 4.2.9 原则9:别重复自己 4.2.10 原则10:单一权责原则 4.2.11 原则11:测试 4.2.12 原则12:小即是美 4.2.13 原则13:得墨忒耳律 4.2.14 原则14:您不会需要它 4.2.15 原则15:别用太多缩进层级 4.2.16 原则16:使用指标 4.2.17 原则17:童子军军规和重构 4.3 小结 第5章 过早优化是万恶之源 5.16 种过早优化的类型 5.1.1 优化函数 5.1.2 优化特性 5.1.3 优化规划 5.1.4 优化可扩展性 5.1.5 优化测试设计 5.1.6 优化面向对象世界建设 5.2 性能调优的6条提示 5.2.1 先度量再改进 5.2.2 帕累托为王 5.2.3 算法优化获胜 5.2.4 缓存万岁 5.2.5 少即是多 5.2.6 懂得何时停止 5.3 小结 第6章 心流 6.1 什么是心流 6.2 如何达到心流状态 6.2.1 清晰的目标 6.2.2 反馈机制 6.2.3 平衡机会与能力 6.3 给程序员的心流提示 6.4 小结 6.5 资料 第7章 做好一件事,以及其他Unix原则 7.1 Unix的崛起 7.2 Unix哲学概览 7.3 15条有用的Unix原则 7.3.1 每个函数做好一件事 7.3.2 简单胜于复杂 7.3.3 小即是美 7.3.4 尽快打造原型 7.3.5 可移植性胜于效率 7.3.6 在纯文本文件中保存数据 7.3.7 使用软件杠杆获得优势 7.3.8 避免使用强制式用户界面 7.3.9 把每个程序都写成过滤器 7.3.10 更差即更好 7.3.11 整洁代码胜于机灵代码 7.3.12 将程序设计成能与其他程序相连接 7.3.13 编写健壮的代码 7.3.14 尽量修复——但尽早曝露失败 7.3.15 避免手工操作——尽量编写能写程序的程序 7.4 小结 7.5 资料 第8章 设计中的少即是多 8.1 移动电话演进过程中的极简主义 8.2 搜索中的极简主义 8.3 拟物设计 8.4 如何实现极简设计 8.4.1 留白 8.4.2 去除设计元素 8.4.3 移除特性 8.4.4 减少字体和颜色 8.4.5 一以贯之 8.5 小结 第9章 专注 9.1 对抗复杂性的武器 9.2 统一原则 9.2.1 80/20原则 9.2.2 打造最小可行产品 9.2.3 编写整洁和简单的代码 9.2.4 过早优化是万恶之源 9.2.5 心流 9.2.6 做好一件事(Unix) 9.2.7 设计中的少即是多 9.3 小结 作者来信 |