# 断言（Assertion）

### 缩写：无

### 简述

在开发与测试中声明「此处必须为真」的检查；失败通常表示程序员错误而非用户输入问题。断言守护不变式；生产环境是否启用需权衡，不可用断言替代对外输入校验。

### 使用场景

不变式、测试、算法前置条件。

### 实践与应用

• 断言内部不变量
• 外部输入用校验与错误
• CI 全开断言

### 注意事项

• 断言有副作用
• 生产关闭断言后依赖其逻辑

### 对比与易混

| | 断言 | 校验 |
|--|------|------|
| 对象 | 程序员假设/不变量 | 外部输入 |
| 失败含义 | 实现 bug | 请求不合法 |

### 关联术语

• 不变式：断言常守护的性质
• 测试：断言在测试中的用法
• 校验：针对外部输入（断言针对程序员假设）
• 前置条件：调用前必须成立的条件
