调试是在错误暴露后寻找原因;测试是在代码变化时主动验证行为。两者都重要,但不能互相替代。
测试从需求开始
假设函数用于把整数限制到闭区间:
int clamp(int value, int low, int high);
2026/7/7大约 5 分钟
调试是在错误暴露后寻找原因;测试是在代码变化时主动验证行为。两者都重要,但不能互相替代。
假设函数用于把整数限制到闭区间:
int clamp(int value, int low, int high);
动态内存的语法并不难,难的是维护一组始终成立的约束:访问不能越界、对象必须仍然存活、资源只能释放一次,并且最终必须有人释放。
通过指针访问对象之前,至少确认:
只检查 p != NULL 远远不够。非空地址也可能悬空、越界或类型错误。