重构读书笔记八——重新组织数据

重构 Jan 14, 2021

概述

数据结构设计不当,会导致整个项目代码的混乱。这章我们了解对数据结构的重构方法。

8.1 拆分变量

描述

不要对临时变量进行赋值。

动机

变量有不同的用途,某些情况会导致变量被赋值多次。循环变量和结果收集变量就是如此。除此以外,用于保存冗长计算结果的变量不应该被多次赋值。如果多次赋值,那就意味着他们在函数中承担了一个以上的责任。应该被拆分成多个变量。遵循单一职责原则。

8.2 字段改名

描述

对变量进行恰当的命名

动机

初次面对一个字段,我们首先就是通过名字来理解这个字段的含义和用处。名字对一个字段非常重要。

8.3 以查询取代派生变量

描述

用计算和查询来取代变量的产生。

动机

如果一个变量是常量,一般来说是可以通过查询和计算得出的。如果是变量就要去手动维护它的生命周期。
[me]:只有全局变量才会想办法维护,其他地方的变量尽量让他的生命周期在一个函数里面。尽量把所有的变量都视为不可变变量。其实还是比较容易做到的。做到以后可以减少很多bug的产生,数据流也很清晰。

8.4 将引用改为值对象

描述

如果仅仅是使用数据而不需要把数据共享给其他对象,那么就可以把引用改为值对象。

动机

值对象可以理解为函数编程里面的变量,也就是不可变对象。

8.5 将值对象改为引用对象

描述

把不应该使用值对象的地方改为引用对象

动机

对于需要更新状态,并且访问范围是全局的对象,使用引用对象是正确的选择。虽然我们可能要处理多线程修改变量的问题。