1. 拆分变量
变量应根据责任来进行分解,避免一个变量承担多个责任导致阅读混淆。
2.字段改名
良好的命名和整洁的数据结构有助于理解程序行为,随着产品迭代和对程序的深入理解,字段可能需要改名以保持清晰和准确。
3.以查询取代派生变量
可变数据可能导致代码的各个部分互相耦合,因此应尽量限制其作用域。对于可以随时计算出的变量,去掉它们可以减少可变性。然而,如果计算的源数据和结果都是不可变的,那么保留派生变量也是可以的。根据数据的可变性和使用情况,可以选择适合的编程风格,如对象风格或函数风格。
4.引用对象和值对象的选择
对于不变的数据,这两种处理方式都适用,但对于需要更新的数据,将其视为引用对象较为合适。值对象因其不可变性,处理起来更简单,在分布式和并发系统中特别有用。然而,如果需要多个对象共享一个对象并看到其修改,那么这个对象应被视为引用对象,从而避免更新所有副本带来的问题。
变量应根据责任来进行分解,避免一个变量承担多个责任导致阅读混淆。
2.字段改名
良好的命名和整洁的数据结构有助于理解程序行为,随着产品迭代和对程序的深入理解,字段可能需要改名以保持清晰和准确。
3.以查询取代派生变量
可变数据可能导致代码的各个部分互相耦合,因此应尽量限制其作用域。对于可以随时计算出的变量,去掉它们可以减少可变性。然而,如果计算的源数据和结果都是不可变的,那么保留派生变量也是可以的。根据数据的可变性和使用情况,可以选择适合的编程风格,如对象风格或函数风格。
4.引用对象和值对象的选择
对于不变的数据,这两种处理方式都适用,但对于需要更新的数据,将其视为引用对象较为合适。值对象因其不可变性,处理起来更简单,在分布式和并发系统中特别有用。然而,如果需要多个对象共享一个对象并看到其修改,那么这个对象应被视为引用对象,从而避免更新所有副本带来的问题。