You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

结合整洁代码理念,软件开发中是否应当使用null值?

关于整洁代码中避免Null使用的实践分享

最近我刚啃完几本聚焦整洁代码与重构的书籍,其中Robert C. Martin在《Clean Code: A Handbook of Agile Software Craftsmanship》(第六版第110-112页)里的一个建议特别值得拿出来聊聊:除非是调用外部不可变的代码(比如官方库、第三方框架这类我们无法修改的代码),否则绝对不要返回null,也不要把null传入任何自定义函数。

根据我实际开发中的踩坑经验,这个建议真的能帮我们避开大量无意义的空引用错误——毕竟谁没花过半小时追着NullPointerException找哪里漏了null检查呢?从源头减少null的传递,代码的可读性和稳定性都会提升不少。

那替代null的常用方案有哪些呢?给大家整理几个实用的:

  • 抛出明确的异常:如果某个参数缺失、或者返回值不存在属于异常场景,直接抛出带有清晰描述的异常(比如Java里的IllegalArgumentException),让问题在发生时就立刻暴露,而不是隐藏到后续流程里引发更难排查的问题。
  • 返回空对象/默认值:比如需要返回集合时,返回空的List或Map而非null;对于自定义业务对象,可以定义一个代表“空状态”的单例实例(比如User.EMPTY),调用方不用做null检查就能直接调用对象方法,逻辑更顺畅。
  • 使用语言自带的可选类型:很多现代编程语言都内置了空安全的可选类型,比如Java的Optional<T>、C#的Nullable<T>、Kotlin的空安全类型、Python的Optional(结合类型提示),强制调用方显式处理“值可能不存在”的情况,从语法层面避免空引用隐患。

内容的提问来源于stack exchange,提问作者PixelMaster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:09:52