来源书籍

你真的会写代码吗-2021

代码可读性与重构类

经典原理(高信息浓度 + 高稳定性)

类别清单覆盖

尚未完成类别清单核对。

全书概览

你真的会写代码吗-2021

类别:代码可读性与重构类

整体评级

  • 四象限结论:经典原理(高信息浓度 + 高稳定性)
  • 信息浓度:高。全书围绕同一个水容器问题反复比较数据表示、复杂度、契约、测试、可读性、线程安全和可复用性,重点不是操作步骤,而是解释为什么不同质量目标会驱动不同设计。
  • 稳定性:高。示例主要使用 Java、JUnit 和集合框架,但核心内容是软件质量模型、复杂度分析、摊销分析、契约式设计、测试覆盖、死锁规避和 API 抽象,这些原则不会随具体框架版本快速过时。
  • 支撑例子:第1章用内部/外部质量和多准则优化建立取舍框架;第3章用Speed1、Speed2、Speed3展示没有脱离使用场景的最快实现,并引入并查集与摊销分析;第5章把可靠性拆成契约、前置条件、后置条件和不变式;第8章从竞争条件、死锁和不可变性解释线程安全设计。

章节筛选

  • 第1章《软件质量和待解决问题》:精读。章节建立全书的质量维度、权衡框架和水容器问题,是后续所有实现比较的概念底座。
  • 第2章《Reference的实现》:精读。Reference版本把集合选择、内存布局图和复杂度分析组合起来,适合沉淀基础工程判断。
  • 第3章《速度的要求:时间效率》:精读。时间效率章节讨论帕累托最优、懒计算、并查集和摊销复杂度,是全书信息浓度最高部分之一。
  • 第4章《宝贵的内存:空间效率》:精读。空间效率章节系统比较集合、数组、对象开销和编码技巧,展示空间与时间、可读性的取舍。
  • 第5章《有自我意识的代码:通过监控实现可靠性》:精读。契约式设计、前置/后置条件、不变式和断言能迁移到高可靠软件开发。
  • 第6章《别对我撒谎:通过测试保证可靠性》:精读。章节用输入领域建模、覆盖率和可测试性分析,把测试从经验活动变成系统设计。
  • 第7章《让代码说话:可读性》:精读。可读性章节把命名、注释、提取方法和API暴露与可靠性、可维护性连接起来。
  • 第8章《多个厨师一锅饭:线程安全》:精读。线程安全章节讨论竞争条件、死锁、有序锁和不可变性,是并发代码设计的重要原则。
  • 第9章《请重复利用:可复用性》:精读。可复用性章节讨论泛型边界、二元方法、属性抽象和API通用度,适合框架/API设计复用。

章节进度追踪

章节号 章节标题 精读/略读 状态(pending/done) 卡片数
01 软件质量和待解决问题 精读 done 4
02 Reference的实现 精读 done 4
03 速度的要求:时间效率 精读 done 5
04 宝贵的内存:空间效率 精读 done 5
05 有自我意识的代码:通过监控实现可靠性 精读 done 5
06 别对我撒谎:通过测试保证可靠性 精读 done 5
07 让代码说话:可读性 精读 done 5
08 多个厨师一锅饭:线程安全 精读 done 5
09 请重复利用:可复用性 精读 done 5

总卡片数:43

章节与卡片

01 软件质量和待解决问题

  1. 质量是多维取舍 普通读书笔记卡
  2. 内外质量相连 普通读书笔记卡
  3. 先满足当前需求 普通读书笔记卡
  4. 隐式模型也合理 普通读书笔记卡

02 Reference的实现

  1. 面向接口声明 普通读书笔记卡
  2. 图示辅助设计 普通读书笔记卡
  3. 大O看增长级 普通读书笔记卡
  4. 对象头有成本 普通读书笔记卡

03 速度的要求:时间效率

  1. 多方法无银弹 普通读书笔记卡
  2. 负载可以转移 普通读书笔记卡
  3. 并查集取平衡 普通读书笔记卡
  4. 摊销看长期成本 普通读书笔记卡
  5. 基准测试防幻觉 普通读书笔记卡

04 宝贵的内存:空间效率

  1. 空间优化降抽象 普通读书笔记卡
  2. 懒初始化省空间 普通读书笔记卡
  3. 集合内存有价 普通读书笔记卡
  4. 去对象化有代价 普通读书笔记卡
  5. 局部性影响速度 普通读书笔记卡

05 有自我意识的代码:通过监控实现可靠性

  1. 契约划清责任 普通读书笔记卡
  2. 前置只写可控 普通读书笔记卡
  3. 不变式守一致 普通读书笔记卡
  4. 公有前置常开 普通读书笔记卡
  5. 后置检查昂贵 普通读书笔记卡

06 别对我撒谎:通过测试保证可靠性

  1. 测试外置契约 普通读书笔记卡
  2. 输入领域建模 普通读书笔记卡
  3. 两种覆盖互补 普通读书笔记卡
  4. 可测试性三要素 普通读书笔记卡
  5. 注入也有成本 普通读书笔记卡

07 让代码说话:可读性

  1. 可读性省接手 普通读书笔记卡
  2. 选择具体循环 普通读书笔记卡
  3. 提取变量降负担 普通读书笔记卡
  4. 文档注释写契约 普通读书笔记卡
  5. 方法名代替注释 普通读书笔记卡

08 多个厨师一锅饭:线程安全

  1. 先定并发策略 普通读书笔记卡
  2. 锁顺序致死锁 普通读书笔记卡
  3. 全局锁换简单 普通读书笔记卡
  4. 有序锁破循环 普通读书笔记卡
  5. 不可变避同步 普通读书笔记卡

09 请重复利用:可复用性

  1. 复用先划边界 普通读书笔记卡
  2. 二元方法难表达 普通读书笔记卡
  3. 属性拆成四步 普通读书笔记卡
  4. 擦除限制泛型 普通读书笔记卡
  5. 框架不是万能 普通读书笔记卡

相关主题

暂无公开主题。