【软件构造】课件精译(十七) 断言与防御式编程

博客围绕软件构造展开,提及设计ADT的两次防御,一是避免引入bug,可采用静态检查等方式;二是缩小bug范围,如用断言。还介绍了断言,它在开发阶段嵌入代码,检验假设是否成立,可对假设文档化且不影响运行时性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、回忆:设计一个ADT

第一次防御:不要引入bug
最好的防御就是不要引入bug,可以采用静态检查、动态检查、不可变性、不可变值与不可变引用等方式
第二次防御:缩小bug的范围
如果无法避免,尝试着将bug限制在最小的范围内;限定在一个方法内部,不扩散;尽快失败,就容易发现、越早修复,例如采用断言。

二、断言

(1)什么是以及为什么要使用断言

断言:在开发阶段的代码中嵌入,检验某些“假设”是否成立。若成立,表明程序运行正常,否则表明存在错误。
断言即是对代码中程序员所做假设的文档化,也不会影响运行时性能(在实际使用时,assertion都会被disabled)。
//占个坑,待更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值