将一个值用于多个用途,就是催生混乱与bug的温床
1. 拆分变量
如果一个变量有多个用途,就为每个用途声明一个变量。
还有,如果要对参数改值,也先复制一份,对副本改值,返回副本。
2. 字段改名
给字段取一个准确的名字。好的命名及数据分布,能让别人只看类的字段就理解这些类的行为。
3. 以查询取代派生变量
尽量把可变数据的作用于限制在最小范围,如果使用调用查询函数替代变量,就能避免 修改源数据时忘了更新派生数据 的错误。而且也能更清楚得表达数据的含义。
4. 将引用对象改为值对象
多个对象想对一个对象进行修改却不影响其他对象对其的修改,就用值对象,要获取值对象时,获取的是该对象的副本。
5. 将值对象改为引用对象
一个客观实体,只有一个代表它的对象。如果想在多个对象之间共享一个对象,以便多个对象都能看见对共享对象的修改,那么这个共享对象应该是引用。一般我们用的都是引用对象。