仅满足无全局状态修改的函数:对应专业术语及优化价值问询
无副作用但非纯函数的专业术语
纯函数回顾
**纯函数(pure function)**的定义是:返回值完全且仅由输入参数决定,同时不会修改全局状态、产生任何可观察的副作用。示例代码:
def f(a, b): return a + b
目标函数的专业术语
你描述的这类仅满足“无外部可观察副作用、不修改全局状态”,但相同参数调用可能返回不同实例(比如每次返回新的可变数组)的函数,最精准的专业术语是无副作用函数(side-effect-free function)。
这类函数的核心特征是:调用过程不会对外部环境造成任何可感知的改变(比如修改全局变量、执行IO操作、变更传入参数的内部状态等),但允许返回新的可变对象——即使这些对象的内存身份每次调用都不同,只要没有外部副作用,就属于此类。
优化意义
正如你提到的,这类函数对代码优化器至关重要:当函数的返回值未被程序使用时,优化器可以直接删除该函数调用,因为它不会影响程序的其他状态。
内容的提问来源于stack exchange,提问作者rwallace
相关产品推荐
相关产品推荐

