99%的高级程序员都这样使用null

2018-04-04 17:24:29 浏览数 (2)

如果使用某个对象或对象里属性前先判断是否为null,那就需要思考一下你的代码是否已经烂掉了。

null是什么意思,你能说清楚它的意图吗?方法返回了null,是出错了还是入参不对还是没查到?null作为方法入参,null代表什么,是没给值还是没有值。同时,如果你返回了null或传递了null,无形中会对后续步骤增加了一步对null的校验。

null只能作为语法级使用,最好不要出现在业务代码中,因为你根本说不清它的意图。如果一个方法返回了null,说明这个方法就是一段烂代码。你调别的方法传入了null,你的代码就是一段烂代码。

对null的使用要做到两点:

1.不返回null;

2.不传递null。

对于不返回null,可通过抛异常、返回特例数据(空集合、空数组、空字符串等)来代替。当然也可以通过使用Guava的Optional来代替。

不传递null,减少这一步,就会减少后续校验的累赘。

0 人点赞