定义调用原始函数的参数较少的函数的名称

问题描述 投票:0回答:1

我经常使用带有一堆参数的函数,然后定义方便的包装器 对一些参数进行硬编码。

虚拟 C 示例:

int add(int a, int b) { return a + b; }
int addFive(int a) { return add(a, 5); }

该技术缩短了输出的调用点目标代码,并且在通过寄存器传递参数的 ABI 上,包装器由于尾部调用而很快,而且只要硬编码的参数是最终参数,包装器就很紧凑。

这个技术有名字吗?

柯里化和部分应用似乎是相关的 柯里化和部分应用之间有什么区别?但似乎这些要求返回包装器,这仅适用于某些语言(绝对不是 C,这是我的主要目标)。

language-agnostic
1个回答
0
投票

这是一种众所周知且经常使用的编程技术。我从未见过它的名称,所以如果这种技术已经有一个名称,请告诉我,我将删除这个答案。

所以,如果我是正确的并且没有具体的名称,那么,为了在语言上简短而紧凑地引用该技术,我会对其使用一些简短的描述,例如:

“方法参数包装器”

如果有人问我这是什么意思,我只会说我指的是 f2 的实现,参数比 f1 少,其中 f2 仅包含调用 f1 和硬编码一些参数。

如果这是用于文档,那么您可以选择您喜欢的名称,可以是上面的名称,也可以是其他名称,然后在文档中一致使用该术语,如果经常使用,可以采用缩写方式。

© www.soinside.com 2019 - 2024. All rights reserved.