一位同事和我正在讨论有关订购方法参数的最佳做法。我们的目标是在我们的组织中建立一个标准,通过为我们的方法提供共同的签名来提高可读性和生产力。我们只是为我们正在招聘的最近毕业生制定指导方针。
示例(始终传入userId以审核调用):
GetOrders(string userId,int customerId); GetOrders(string userId,int [] orderIds); GetCustomer(string userId,int customerId);
我的论点如下:
他的论点基本上是相反的。
我不是在这里要求正确或错误的答案,也不是在讨论。我只想看看已经存在哪些标准。
谢谢!
答案 0 :(得分:6)
我会选择输入,输出,可选的顺序。
可选应该最后给我,因为大多数语言允许您为可选参数指定默认值,以避免必须包含它们。提供的是,它们必须是最后一个参数,否则你不能放弃它们。
这假设您不能拥有命名参数。如果你能拥有它们,我总是建议使用它们以保持清晰,订单变得没有实际意义。
答案 1 :(得分:4)
我尝试让所有使用类似参数的方法以相同的顺序使用它们。
对于单一方法的选择,我非常重视。可选项目最后。
答案 2 :(得分:3)
我喜欢按字母顺序按名称排列它们。可以更轻松地找到您寻找的那个。
我同意具有默认值的可选项似乎属于最后。在某些语言中,这是必需的。
当您重载方法时,我会从最常用的参数开始,最后得到使该方法版本唯一的一个。
public method foo (string name)
public method foo (string name, string city)
public method foo (string name, string city, string state)
答案 3 :(得分:1)
在C编程中流行的一个习惯用语是目标先行,所以strcpy(A,B);将B复制到A(很像“A = B;”将B复制到A)。
答案 4 :(得分:1)
命令事物也出现在其他情境中。
最简单的方法是在最后添加参数。