什么是程序设计中的Side Effect(副作用)?

Side Effect 通常是功能的“副作用”,表示功能“有副作用”或“无副作用”。

数学上的函数,描述输入值和输出值之间的对应关系。在程序设计中,没有副作用的函数,它们仅计算输入值到输出值的映射。

如果函数修改了超出其范围的资源,则称其具有副作用,否则,则没有副作用。

例如访问全局变量,读写文件,网络传输,界面交互显示,等等。

举个更具体的例子,假设某个函数在参数的特定组合下返回结果A。我们将编写此函数以直接返回A。如果修改后整个程序与以前相同,则表示此功能没有副作用,相反,它们具有副作用。

显然,具有副作用的函数会(不限于)执行以下操作:

  • 修改全局变量;
  • 修改输入参数引用的对象;
  • 进行输入和输出操作;
  • 调用具有副作用的其他功能;
LeafBox | 树叶盒子 是一个优秀的资源共享平台,拥有丰富的数字资源,您想要的在这里都可以找到。
LeafBox | 树叶盒子 » 什么是程序设计中的Side Effect(副作用)?

发表评论