当前位置:   article > 正文

断言与防御式编程_防御性编程与断言

防御性编程与断言

防御式编程的基本思想
最好的防御就是不要引入bug
如果无法避免
尝试着将bug限制在最小的范围内
限定在一个方法内部,不扩散
Fail fast:尽快失败,就容易发现、越早修复


断言Assertion
断言:

在开发阶段的代码中嵌入,检验某些“假设”是否成立。若成立,表明程序运行正常,否则表明存在错误。
断言即是对代码中程序员所做假设的文档化,也不会影响运行时性能(在实际使用时,assertion都会被disabled)
语法:assert condition : message;
所构造message在发生错误时显示给用户,便于快速发现错误所在


作用:

最高效、快速地找出/改正bug
提高可维护性


assert使用场所:

内部不变量:判断某个局部变量应该满足的条件,assert x > 0
表示不变量:checkRep()
控制流不变量:例如,若不想让程序走向switch-case的某个分支,则可以用断言直接在分支上assert false;
方法的前置条件:判断传入参数是否满足前置条件
方法的后置条件:判断结果时候满足后置条件

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/686764
推荐阅读
相关标签
  

闽ICP备14008679号