重构之纯函数
1. 纯函数的特征
(1)没有任何副作用。不会修改函数以外的任何变量或任何类型的数据。如不会修改参数、成员变量、全局变量的值,不会对数据库或文件进行写操作,以及从socket读写数据等等。
(2)具有一致性。在提供同一组输入数据的情况下,将始终返回相同的输出值
2. 纯函数的优点
(1)因为纯函数没有任何副作用,并且有一致性,所以你可以在任何环境下放心调用该函数。
(2)纯函数容易测试。
(2)具有一致性。在提供同一组输入数据的情况下,将始终返回相同的输出值
2. 纯函数的优点
(1)因为纯函数没有任何副作用,并且有一致性,所以你可以在任何环境下放心调用该函数。
(2)纯函数容易测试。
(3)纯函数的结果是可以被缓存的,并且很容易并行化。从实用的角度来说,我们可以放心地缓存纯函数的返回值,这样下次再调用它的时候就可以直接返回这个值而不需要重新计算,这个技术也叫做:内存化。
3. 重构为纯函数的方法
(1)利用局部变量保存参数的值。
(2)将带有副作用的代码抽象为子程序。
3. 重构为纯函数的方法
(1)利用局部变量保存参数的值。
(2)将带有副作用的代码抽象为子程序。