列出函数参数顺序的准则

时间:2013-01-16 12:53:39

标签: language-agnostic

您是否遵循任何规则来确定函数参数的顺序?例如,float pow(float x, float exponent) vs float pow(float exponent, float x)。具体而言,可以使用C ++,但这个问题对所有编程语言都有效。

我主要关注的是从可用性的角度来看,而不是运行时性能。

修改: 订购的一些可能的基础可能是:

  • 输入与输出
  • 通常编写“公式”的方式,即从左到右的参数。
  • 对函数上下文的参数的特异性,即它是否是“一般”参数,例如系统的单个对象,或特定的。

1 个答案:

答案 0 :(得分:1)

在你引用的例子中,我认为顺序是根据数学符号x exponent 决定的,其中基数在指数之前写入并成为左参数。

除了试图想象用户期望和/或容易记住的内容之外,我不知道任何真正合理的一般原则。人们甚至不完全同意你在复制时是否应该写(源,目的地)或(目的地,来源)(比较std::copystd::memcpy),虽然我很确定前者现在是更为常见。

但是,有很多一般惯例,不同的人遵循不同的程度:

  • 如果该函数被认为是主要针对某个特定对象的行为,那就把它放在第一位
  • 被认为是“配置”函数操作的参数来自被认为是函数主要主题的参数。
  • out-params是最后一次(但我怀疑有些人会反过来)

在某种程度上,它并不重要 - 即用户在输入函数名称时让IDE告诉参数顺序的程度。