重构读书笔记八——重新组织数据
概述
数据结构设计不当,会导致整个项目代码的混乱。这章我们了解对数据结构的重构方法。
8.1 拆分变量
描述
不要对临时变量进行赋值。
动机
变量有不同的用途,某些情况会导致变量被赋值多次。循环变量和结果收集变量就是如此。除此以外,用于保存冗长计算结果的变量不应该被多次赋值。如果多次赋值,那就意味着他们在函数中承担了一个以上的责任。应该被拆分成多个变量。遵循单一职责原则。
8.2 字段改名
描述
对变量进行恰当的命名
动机
初次面对一个字段,我们首先就是通过名字来理解这个字段的含义和用处。名字对一个字段非常重要。
8.3 以查询取代派生变量
描述
用计算和查询来取代变量的产生。
动机
如果一个变量是常量,一般来说是可以通过查询和计算得出的。如果是变量就要去手动维护它的生命周期。
[me]:只有全局变量才会想办法维护,其他地方的变量尽量让他的生命周期在一个函数里面。尽量把所有的变量都视为不可变变量。其实还是比较容易做到的。做到以后可以减少很多bug的产生,数据流也很清晰。
8.4 将引用改为值对象
描述
如果仅仅是使用数据而不需要把数据共享给其他对象,那么就可以把引用改为值对象。
动机
值对象可以理解为函数编程里面的变量,也就是不可变对象。
8.5 将值对象改为引用对象
描述
把不应该使用值对象的地方改为引用对象
动机
对于需要更新状态,并且访问范围是全局的对象,使用引用对象是正确的选择。虽然我们可能要处理多线程修改变量的问题。