软件构造 第七章第三节 断言和防御性编程

第七章第三节 断言和防御性编程

断言:在开发阶段的代码中嵌入,检验某些"假设"是否成立。若成立,表明程序运行正常,否则表明存在错误。

 

可用于检查:

内部不变量:

表示不变量:

控制流不变量

方法的前置条件

方法的后置条件

 

  • 断言主要用于开发阶段,避免引入和帮助发现bug
  • 实际运行阶段, 不再使用断言
  • 软件发布阶段,禁用断言避免影响性能。

 

断言Correctness

错误/异常处理Robustness

 

Defensive Programming

对来自外部的数据源要仔细检查,例如:文件、网络数据、用户输入等

对每个函数的输入参数合法性要做仔细检查,并决定如何处理非法输入

posted @ 2018-06-22 22:01  masteryellow  阅读(117)  评论(0编辑  收藏  举报