编写可运行代码的最佳实践
在现实世界中,代码可能会出现各种意外情况。用户行为难以预测,网络也不稳定,各种问题随时可能发生。但生产环境中的软件必须持续稳定运行,因此编写可运行的代码至关重要。可运行的代码具备内置的保护、诊断和控制机制,下面将介绍一些让代码在生产环境中更易于运行的最佳实践。
防御性编程
防御性编程是对运行代码的人(包括你自己)的一种关怀。防御性代码出错的概率更低,并且在出错时更有可能恢复。要让代码既安全又有弹性。
- 避免空值
- 在许多编程语言中,未赋值的变量默认值为空(如 null、nil、None 等),空指针异常是常见问题。为避免空指针异常,可以在方法开始时检查变量是否为空,使用
NotNull注解等语言特性。例如:
- 在许多编程语言中,未赋值的变量默认值为空(如 null、nil、None 等),空指针异常是常见问题。为避免空指针异常,可以在方法开始时检查变量是否为空,使用
def some_method(param):
if param is None:
return
# 后续代码可以安全地假设 param 不为空
pass
- 可以使用空对象模式,即用对象代替空值。比如搜索方法在未找到对象时返回空列表而非 null,这样调用者可以安全地遍历结果,无需特殊代码处理空结果集。
- 部分语言有内置的可选类型(如 `Optional` 或 `Maybe`),开发者应充分利用这些类型,强制自己思考如何处理空响应。
-
使变量不可变
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



