Kim*_*bel 7 language-agnostic oop side-effects definition
正如我一直所理解的那样,对程序状态的任何更改(或与IO有关的任何内容)都是副作用.无论是在全局变量中还是在调用该方法的对象的私有字段中发生更改都无关紧要.因此,所有不返回任何东西的方法都不做任何事情或产生副作用.
我的困惑来自我们的一位大学教师(他仍然是学生,因此还不是无所不知;))告诉我,安装者没有副作用.
你的导师错了.向SO编辑道歉,因为没有粘贴整篇文章,这就是维基百科所说的:
http://en.wikipedia.org/wiki/Side_effect_(computer_science)
报价#1:
在计算机科学中,如果除了产生一个值之外,它还修改某个状态或者与调用函数或外部世界具有可观察的交互,则称函数或表达具有副作用.
钱报价#2:
在存在副作用的情况下,程序的行为取决于过去的历史; 也就是说,评估的顺序很重要.
非NOP Setter始终满足该标准.