正如我一直理解的那样,对程序状态的任何更改(或与 IO 有关的任何事情)都是副作用。更改是发生在全局变量中还是发生在调用该方法的对象的私有字段中并不重要。由此可见,所有不返回任何内容的方法要么根本不执行任何操作,要么有副作用。
我的困惑来自于我们大学的一位老师(他仍然是一名学生,因此还不是无所不知;))告诉我设置器没有副作用。
你的导师错了。向 SO 编辑们道歉,因为他们没有将整篇文章粘贴到这里,维基百科是这样说的:
http://en.wikipedia.org/wiki/Side_effect_(computer_science) http://en.wikipedia.org/wiki/Side_effect_%28computer_science%29
金钱报价#1:
在计算机科学中,如果函数或表达式除了产生值之外,还修改某些状态或与调用函数或外部世界有可观察到的交互,则称其具有副作用。
金钱报价#2:
在存在副作用的情况下,程序的行为取决于过去的历史记录;也就是说,评估的顺序很重要。
非 NOP Setter 始终满足该标准。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)