在方法中排序参数有哪些约定?

Blo*_*und 6 oop coding-style

我和一位同事正在讨论有关订购方法参数的最佳实践.我们的目标是在我们的组织中建立一个标准,通过为我们的方法提供共同的签名来提高可读性和生产力.我们只是为我们正在招聘的最近毕业生制定指导方针.

示例(始终传入userId以审核调用):

GetOrders(string userId,int customerId); GetOrders(string userId,int [] orderIds); GetCustomer(string userId,int customerId);

我的论点如下:

  1. 最常见的争论.
  2. 剩下的论据是基于重要性的
  3. 可选(可空)参数最后.

他的论点基本上是相反的.

我不是在这里要求正确或错误的答案,也不是在讨论.我只想看看已经存在哪些标准.

谢谢!

wor*_*ad3 6

我会选择输入,输出,可选的顺序.

对于我来说,可选的应该是最终的,因为大多数语言允许您为可选参数指定默认值,以避免必须包含它们.提供的是,它们必须是最后一个参数,否则你不能放弃它们.

这是假设您不能拥有命名参数.如果你能拥有它们,我总是建议使用它们以保持清晰,订单变得没有实际意义.