可以将 null/empty 未使用的参数传递给方法吗?
Is it okay to pass null/empty unused parameters to a method?
我正在尝试找出在类似情况下的最佳实践,假设我有一个方法
String getContent(String id, Boolean remove_tags) {
…
}
这有一个很长的实现,我需要这个功能,但在某些情况下我不想发送第二个参数,在这种情况下将它作为 null[= 传递是正确的做法24=] 或创建另一个仅包含第一个参数的方法,并使该方法 return 这样:
String getContent(String id) {
return getContent(id, null);
}
我在这个问题 here 中阅读了一条建议,只将其作为 null 传递。
我可能没什么,但我已经尝试对这样的主题进行一些研究,但找不到有用的东西,所以我需要请对此提出一些意见!
两种方式都可以。我已经看到两者都被使用过,甚至在与 Java.
捆绑在一起的库中也是如此
更喜欢重载
String getContent( String id , Boolean remove_tags ) { … }
String getContent( String id ) { … }
添加具有单个参数的第二个方法的好处是清楚地传达单个参数将成功。
仅使用第一种方法,调用程序员无法判断是否允许为第二个参数传递 null。她必须研究 Javadoc,甚至可能是源代码,以确定 null 是否会成功。
Self-documenting code 通常更可取。
顺便说一下,添加同名方法的技术术语是 overloading。
我正在尝试找出在类似情况下的最佳实践,假设我有一个方法
String getContent(String id, Boolean remove_tags) {
…
}
这有一个很长的实现,我需要这个功能,但在某些情况下我不想发送第二个参数,在这种情况下将它作为 null[= 传递是正确的做法24=] 或创建另一个仅包含第一个参数的方法,并使该方法 return 这样:
String getContent(String id) {
return getContent(id, null);
}
我在这个问题 here 中阅读了一条建议,只将其作为 null 传递。
我可能没什么,但我已经尝试对这样的主题进行一些研究,但找不到有用的东西,所以我需要请对此提出一些意见!
两种方式都可以。我已经看到两者都被使用过,甚至在与 Java.
捆绑在一起的库中也是如此更喜欢重载
String getContent( String id , Boolean remove_tags ) { … }
String getContent( String id ) { … }
添加具有单个参数的第二个方法的好处是清楚地传达单个参数将成功。
仅使用第一种方法,调用程序员无法判断是否允许为第二个参数传递 null。她必须研究 Javadoc,甚至可能是源代码,以确定 null 是否会成功。
Self-documenting code 通常更可取。
顺便说一下,添加同名方法的技术术语是 overloading。