软件架构基本技法——单一引用点

是什么

模块的各元素仅被声明和定义一次。

以变量为例,仅定义一次就是指初始化之后就不再对值进行更改了。这样一来,我们就不用再追踪变量值的变迁过程,代码的可读性也随之提高。

为什么

该基本技法可以使编程无副作用。

所谓编程的副作用,是指某一功能使模块状态产生变化,对此后得到的结果造成影响。排除副作用能免去状态的变化,保证相同数据能始终获得相同的结果,从而减少状态依赖引发的故障。

另外,当某一变量被大范围使用且该变量的值被频繁更改时,我们将很难对代码进行追踪。变量值固定则可以省去这些麻烦,从而提高代码的可读性。

怎么做

所谓单一赋值,是指仅对变量执行一次赋值操作。我们要将副作用视为“应该避免的东西”,把变量看作“不变的东西”,给变量赋值后就不再对其进行更改。

大多数编程语言允许对变量重新赋值,但是我们要跳出语法的限制,通过使用常量、设置规则来禁止重新赋值等方式,编写没有副作用的代码。

猜你喜欢

转载自blog.csdn.net/u012069234/article/details/113666602