Clean Code的笔记(42)

>我来写笔记

按有用程度 按页码先后 最新笔记

  • Feathers

    Feathers (孤单喂饱了理性)

    1.1 要有代码 代码的必要性。代码是用于表达需求的一种语言,具有精准性,不可替代 1.2 糟糕代码 好的代码的重要性。糟糕代码会造成沼泽(wading),对于自己的糟糕代码谨记:勒布朗(LeBlanc)法则——Later equals never 1.3 混乱的代价 随着混乱增加,团队生产力将会持续下降 -> 引入新人增加生产力 -> 新人并不了解系统架构 -> 混乱更多 重新搭建新的系统(重新组件团队,会影响自己的生存),不能根本解决问题 糟糕代...

    2018-09-29 14:08   1人喜欢

  • 葡萄

    葡萄 (十年用文字和你一起长大。)

    Were you trying to go fast? Were you in a rush? Probably so. Perhaps you felt that you didn’t have time to do a good job; that your boss would be angry with you if you took the time to clean up your code. Perhaps you were just tired of working on this program and wanted it to be over. Or maybe you looked at the backlog of other stuff that you had prom- ised to get done and realized that you ne...

    2018-12-11 02:00

  • Feathers

    Feathers (孤单喂饱了理性)

    Kent简单设计的四条规则: 1. 运行所有测试:全面测试并持续通过所有测试的系统,就是可测系统,测试清楚了对代码重构的恐惧 2. 不可重复:代码复用 3. 表达了程序员的意图:增强代码表达力 4. 尽可能减少类和方法的数量:避免SRP被过度使用

    2018-11-09 16:53

  • Feathers

    Feathers (孤单喂饱了理性)

    1. 组件化,职责清晰,有人负责全局、有人负责细节 2. 构造与使用分离 a. 分解main,将构造部分放入到main模块 b. 使用工厂,完成复杂的构造 c. 依赖注入 d. 扩容,根据需求重构、扩展系统 e. 使用Java代理 -> AOP f. 系统的特定领域,需要特定语言 (DSL, Domain-Specific Language)

    2018-11-09 16:22

  • Feathers

    Feathers (孤单喂饱了理性)

    1. 类应尽量短小,有多短小由类的权责决定,如果类职责越清晰,代表权责越小,类也会越短小 2. 系统应该应有许多短小的类,而不是少量巨大的类组成,每个小类封装了一个权责,只有一个修改的原因,并与少数其他类一起协同达成期望的系统行为 3. 保证类的内聚性:类应该只有少量实体变量,类的每个方法都应操作一个或者多个这种变量,如果方法操作的变量越多,就越黏聚此类,如果该类中每个变量都被每个方法使用,称为此类具有最...

    2018-11-09 14:01

  • Feathers

    Feathers (孤单喂饱了理性)

    TDD(Test-Driven Development) 测试驱动开发 三定律: 1. 在编写不能通过单元测试前,不可编写生产代码 2. 只可编写刚好无法通过的单元测试,不能编译也算不通过 3. 只可编写刚好足以通过当天失败测试的生产代码 注:这样写程序每天就会编写数十个测试,从而导致测试代码覆盖生产代码,从而引发测试代码的管理问题,所以测试代码的管理也很重要。 总结: 1. 测试代码需要像生产代码一样被思考、被设计、被照料 2. 单元测试会让...

    2018-11-09 11:10

  • Feathers

    Feathers (孤单喂饱了理性)

    1. 第三方代一般具有普适性,所以会包含许多类型的方法,这时可以对第三方代码进行包装,排除其他方法的干扰 2. 分割已知和未知的边界,未知部分可以先定义接口来连接两个边界

    2018-10-25 16:52

  • Feathers

    Feathers (孤单喂饱了理性)

    1. 使用异常而非返回码,代码逻辑更清晰 2. 先写 try-catch-finally 语句,使用try定义一个范围,try中的任何逻辑可以随时取消执行,由catch接续(需要重新理解) 3. 使用不可控异常(unchecked exception),使用可控异常(checked exception)的代价是违反开放/封闭原则。最底层抛出了一个新的异常,他的每个上层都要增加throw子句,耦合变高。 4. 给出异常发生的环境说明 5. 对异常进行包装:如果该方法抛出多个类型的异常,...

    2018-10-25 15:56

  • Feathers

    Feathers (孤单喂饱了理性)

    6.1 数据抽象 隐藏实现并非是在变量层之间放一个函数这么简单(指的是私有化变量,并提供访问器);隐藏实现无关抽象!!类并不简单的用取值器将变量推向外部,而实暴露抽象接口,让用户无需了解数据实现就能操作数据本体。 6.2 数据、对象的反对称性 对象和数据结构的二分原理: 过程式代码(使用数据结构的代码)便于在不改动既有数据结构的前提下添加新函数。面向对象代码便于在不改动既有函数的前提下添加新的类 反过来讲:...

    2018-10-25 15:12

  • Feathers

    Feathers (孤单喂饱了理性)

    垂直格式: 1. 类似报纸,名称简单且一目了然,第一段介绍了故事的主线,一张报纸由多个文章组成,每个文章短小精悍 2. 概念间垂直方向的区隔 3. 垂直方向靠近 4. 垂直距离 变量声明尽可能靠近使用位置 实体变量应该在类顶部声明 相关函数,某个函数调用了另一个函数,调用着应该尽可能的放置在被调用这的后面 概念相关的代码应该放在一起,相关性越强,彼此之间的距离应该越短 5. 垂直顺序:自上向下展示函数调用依赖顺序,避...

    2018-10-18 20:16

<前页 1 2 3 4 5 后页>

笔记是你写在书页留白边上的内容;是你阅读中的批注、摘抄及随感。

笔记必须是自己所写,不欢迎转载。摘抄原文的部分应该进行特殊标明。

Clean Code

>Clean Code