代码检查、断言与错误处理
在软件开发中,确保代码的质量和可靠性是至关重要的。这涉及到多个方面,包括代码契约的执行、错误的处理等。下面我们将详细探讨代码检查、断言以及错误处理的相关内容。
代码检查与断言
在代码开发中,使用编译器来执行代码契约是一种可靠的方法,但有时在某些场景下,使用运行时执行更为合适。
运行时执行代码契约
使用运行时执行代码契约通常不如编译时执行健壮。因为运行时发现代码契约的违反依赖于测试或用户在运行代码时遇到问题,而编译时执行从逻辑上就使得违反契约变得不可能。不过,当无法使用编译器执行契约时,运行时检查总比不执行契约要好。
检查(Checks)
检查是执行代码契约条件的常见方式。它通过额外的逻辑来检查代码是否遵守了契约,如输入参数的约束或必要的设置。如果未遵守,检查会抛出错误,导致明显且不可忽视的失败。检查与“快速失败”密切相关。
检查可分为以下子类别:
- 前置条件检查 :例如,检查输入参数是否正确、某些初始化是否已完成,或者系统在运行某些代码之前是否处于有效状态。
- 后置条件检查 :例如,检查返回值是否正确或系统在运行某些代码之后是否处于有效状态。
以 UserSettings 类为例,如果使用前置条件检查,代码可能如下:
class UserSettings {
UserSettings() { ... }
// Do not call a
超级会员免费看
订阅专栏 解锁全文
4820

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



