提问人:Ahmad Nasser 提问时间:1/6/2022 最后编辑:TylerHAhmad Nasser 更新时间:1/12/2022 访问量:1220
是否可以将 null/空未使用的参数传递给方法?[已结束]
Is it okay to pass null/empty unused parameters to a method? [closed]
问:
我试图找到在类似情况下要做的最佳实践,比如说我有一种方法
String getContent(String id, Boolean remove_tags) {
…
}
这有一个很长的实现,我需要这个功能,但在某些情况下我不想发送第二个参数,在这种情况下,正确的做法是将其作为 null 传递或创建另一个只有第一个参数的方法,并使该方法以这种方式返回这个:
String getContent(String id) {
return getContent(id, null);
}
我在这里读到这个问题中的建议,只将其作为 null 传递。
我可能什么都没做,但我试图对这样的主题进行一些研究,但找不到有用的东西,所以我需要一些意见!
答:
4赞
Basil Bourque
1/6/2022
#1
无论哪种方式都是允许的。我已经看到两者都被使用,甚至在与 Java 捆绑在一起的库中也是如此。
首选重载
String getContent( String id , Boolean remove_tags ) { … }
String getContent( String id ) { … }
👉 使用单个参数添加第二个方法的好处是可以清楚地传达单个参数将成功。
仅使用第一种方法时,调用程序员无法判断是否允许为第二个参数传递 null。她必须研究 Javadoc,甚至源代码,以确定 null 是否会成功。
自记录代码通常更可取。
顺便说一句,添加共享名称的方法的技术术语是重载。
评论
null
null
getContent(id, null, null, null, null, null, null);