我和一位同事正在讨论有关订购方法参数的最佳实践.我们的目标是在我们的组织中建立一个标准,通过为我们的方法提供共同的签名来提高可读性和生产力.我们只是为我们正在招聘的最近毕业生制定指导方针.
示例(始终传入userId以审核调用):
GetOrders(string userId,int customerId); GetOrders(string userId,int [] orderIds); GetCustomer(string userId,int customerId);
我的论点如下:
最常见的争论.
剩下的论据是基于重要性的
可选(可空)参数最后.
他的论点基本上是相反的.
我不是在这里要求正确或错误的答案,也不是在讨论.我只想看看已经存在哪些标准.
谢谢!
我会选择输入,输出,可选的顺序.
对于我来说,可选的应该是最终的,因为大多数语言允许您为可选参数指定默认值,以避免必须包含它们.提供的是,它们必须是最后一个参数,否则你不能放弃它们.
这是假设您不能拥有命名参数.如果你能拥有它们,我总是建议使用它们以保持清晰,订单变得没有实际意义.