String lookup(List<String> tree, String str){
for (String s : tree){
if (s == str){
return s;
} ;
}
return null
}
这里 tree 如果为 null, 这里将抛出异常,我们应该是在这里检查参数是否为空,如果为null 就返回,还是等待还是调用时抛出异常。
如果每个方法都检查入参是否为 Null 是否合适?
注:
实际工程总不仅仅是null, 当然null 是几乎所有暴露给外面的函数都应该考虑的,实际工程中还包括很多参数校验的例子. 如 你接受一个 ip 地址, 你是否需要检查 ip 地址是否合法.
一个参数从上到下传入, 经历多层调用, 每层都检查, 给人一种冗余的感觉, 不是一种非常优雅的做法. 所以,我想问, 作为一个稳定的工业级产品, 如果对参数处理, 自己没有一个非常满意的办法.
我一般这么做:
public / internal / protected 函数,检查所有可能为null的参数。因为调用者来源未知。
private 函数,调用者都是自己控制的,一般null到不了这一层。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。