Oop 方法中的参数排序有哪些约定?
我和一位同事正在讨论有关排序方法参数的最佳实践。目标是在我们的组织中建立一个标准,通过给我们的方法提供通用的签名来提高可读性和生产率。我们只是为我们正在招聘的应届毕业生制定指导方针 示例(始终传入userId以审核调用): GetOrders(字符串userId,int customerId); GetOrders(字符串userId,int[]orderIds); GetCustomer(字符串userId,int customerId) 我的论点如下:Oop 方法中的参数排序有哪些约定?,oop,coding-style,Oop,Coding Style,我和一位同事正在讨论有关排序方法参数的最佳实践。目标是在我们的组织中建立一个标准,通过给我们的方法提供通用的签名来提高可读性和生产率。我们只是为我们正在招聘的应届毕业生制定指导方针 示例(始终传入userId以审核调用): GetOrders(字符串userId,int customerId); GetOrders(字符串userId,int[]orderIds); GetCustomer(字符串userId,int customerId) 我的论点如下: 常见的参数是最左边的 剩下的论点是基于
谢谢 我会选择输入、输出和可选的顺序 Optional应该放在我的末尾,因为大多数语言允许您为可选参数指定默认值,以避免包含它们。其中的规定是,它们必须是最后一个论点,否则你不能放弃它们
这是假设你不能有命名参数。如果你能得到它们,我总是建议你使用它们以保持清晰,而顺序也变得毫无意义。我喜欢按名字的字母顺序排列它们。让你更容易找到你要找的人 我同意,带有默认值的可选项最终似乎属于这一类。在某些语言中,这是必需的 当您有重载方法时,我将从最常用的参数开始,并以使此方法版本唯一的参数结束
public method foo (string name)
public method foo (string name, string city)
public method foo (string name, string city, string state)
我试图让所有使用相似参数的方法以相同的顺序使用它们
对于单一方法的选择,我根据重要性来选择。可选项最后。在C编程中流行的一个习惯用法是目标先行,因此在strcpy(A,B)中;正在将B复制到A(很像“A=B;”正在将B复制到A)。在其他上下文中也按顺序排列
在末尾添加参数是最容易的。+1用于重载方法的建议。我不同意按字母顺序排列。是的,我对按字母顺序排列感觉不太好。您的偏好是什么?b复制使用相反的方式:void b复制(const void*s1,void*s2,size\u t n);