重构章十阅读笔记

17 阅读1分钟

《重构:改善既有代码的设计(第2版)》 ePUBw.COM 36个笔记

用断言来发现程序中的错误

整个程序的行为在有没有断言出现的时候都应该完全一样

很有价值的交流形式

断言是一个条件表达式,应该总是为真

使用断言明确标明这些假设

有这样一段代码:只有当某个条件为真时,该段代码才能正常运行

动机

Introduce Assertion

10.6

如果我发现代码库中有多处以同样方式应对同一个特殊值,我就会想要把这个处理逻辑收拢到一处。

动机

Introduce Special Case

10.5

多态是面向对象编程的关键特性之一。跟其他一切有用的特性一样,它也很容易被滥用。

使用类和多态能把逻辑的拆分表述得更清晰。

复杂的条件逻辑是编程中最难理解的东西之一

动机

Replace Conditional with Polymorphism

10.4

这样的单独检查常常被称为“卫语句”(guard clauses)。

如果某个条件极其罕见,就应该单独检查该条件,并在该条件为真时立刻从函数中返回。

动机

Replace Nested Conditional with Guard Clauses

10.3

其次,这项重构往往可以为使用提炼函数(106)做好准备。

使这一次检查的用意更清晰

首先

动机

Consolidate Conditional Expression

10.2

大型函数本身就会使代码的可读性下降,而条件逻辑则会使代码更难阅读

复杂的条件逻辑是最常导致复杂度上升的地点之一。

动机

Decompose Conditional

10.1

◆ 第10章 简化条件逻辑

第10章 简化条件逻辑