我很遗憾地提出这个哲学问题,但我和同事有很长时间的争论。 有一个方法:d
function GetInterval(){ return someSimpleObj;}
要求更改此方法可能返回空结果。我的意思是没有找到数据。在关于返回null或异常的长期争论之后,我们决定返回null。
但是我建议将方法的签名改为
function GetIntervalOrNull()
之后开始另一个论点,即抛出空值是函数的明显行为,不需要重命名它。但是,我认为在没有警告的情况下返回空值是缺乏设计,并且通常不返回空值。 所以问题是:
提前谢谢。
答案 0 :(得分:4)
为函数返回null通常是行为吗?
如果它不是特殊情况,是的,它完全正常。例如,考虑DOM getElementById
,如果没有匹配元素,则返回null
,这不是例外,因此不能保证例外。或者JavaScript自己的String#match
,如果字符串不包含正则表达式的任何匹配项,则会返回null
。
如何命名返回空值的函数?
这是基于意见的。但通常情况下,没有什么特别之处;见上面的例子。
你知道有GetSmthOrNull的库吗?
我还没碰到任何一个,没有。