Cod*_*ody 5 language-agnostic coding-style
我正在查看一些开发人员的代码,几乎哭了.在方法定义中有12个参数.根据我的经验......这不好.如果是我,我会发送某种对象.
有没有其他/更优选的方法来做到这一点(换句话说,解决这个原因的最佳方法是什么)?
public long Save (
String today,
String name,
String desc,
int ID,
String otherNm,
DateTime dt,
int status,
String periodID,
String otherDt,
String submittedDt
)
Run Code Online (Sandbox Code Playgroud)
忽略我糟糕的变量名 - 他们就是例子
这在很大程度上取决于语言.
在没有编译时类型检查的语言中(例如python,javascript等),您应该使用关键字参数(在python中很常见:您可以像作为参数传入的字典一样访问它们)或者您手动作为参数传入的对象/字典(常见于javascript).
然而,你所描述的"论证地狱"有时是"使用编译时类型检查对某些语言做事的正确方法",因为使用对象会混淆来自类型检查器的语义.然后解决方案是使用更好的语言进行编译时类型检查,它允许将对象的模式匹配作为参数.