java一个表达式包含“最多一个副作用,作为其最外层的操作”,这意味着什么?
Code is usually clearer when each expression contains at most one side effect, as its outermost operation
这是什么意思
你可以在下面搜索框中键入要查询的问题!
Code is usually clearer when each expression contains at most one side effect, as its outermost operation
这是什么意思
# 1 楼答案
这意味着:
当
someFunction(a, b)
没有任何副作用时,即它不会改变任何东西时,就更清楚了。相反,上面唯一的变化是对x
的赋值另一个例子是使用前缀/后缀增量
比
因为只有
x
被分配给。在第二个示例中a
和b
在同一语句中更改通过限制副作用,您可以更轻松地对代码的功能进行推理,和/或对语句调用重新排序,包括对它们进行并行化,例如,在下面,如果这些方法没有副作用,那么您可以按任意顺序调用表示参数的方法
a()
、b()
和c()
,和/或并行# 2 楼答案
这意味着每个表达式一次应该执行一个任务
考虑以下两个声明:
现在的任务是将这两个
int
相加,并将b
增加1。有两种方法可以做到这一点及
JLS更喜欢并推荐后者
# 3 楼答案
表达式的副作用主要是在表达式求值期间对变量赋值
请注意代码:
病情评估有3个副作用:
x
y
z
看起来很扭曲,不是吗