阅读《编写无错的代码》

本文强调了断言在代码调试中的重要性,并提出了几种确保代码质量的方法,包括为函数参数设置断言、利用不同算法验证结果、消除随机性以确保错误可重复出现等。此外,还讨论了通过逐条跟踪程序来发现并解决潜在问题的有效性。

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

多使用assert

这个小组的代码与Word 代码之间一个明显的区别是Word 代码从过去到现在一直都使
用断言和调试代码,而他们的代码却几乎没有使用断言。因此,其程序员没有什么好的办
法可以确定其代码中的实际错误情况,错误只能慢慢地暴露出来。如果他们在代码中使用
了断言,这些错误本该在几个月之前就被检查出来。

 

给不够清晰的断言加上注解即可。

 

对函数的每个参数进行断言。

 

在进行防错性程序设计时,不要隐瞒错误

 

 要利用不同的算法对程序的结果进行确认

由于速度是电子表格软件
成功的关键,所以为了保证绝不对其它无关单元中的公式重新计算,Excel 使用了一个相
当复杂的算法。这样做的唯一问题是因为该算法过于复杂,所以对其进行修改难免会引进
新的错误。Excel 的程序员当然不希望这种事情发生,所以他们又编写了一个只用在Excel
调试版本的重新计算工具。当原来的重新计算工具完成了重新计算工作之后,再用这个重
新计算工具对含有公式的所有单元进行一遍虽然缓慢但很彻底的重新计算。如果两次计算
的结果不同,就会触发某个断言

 

要消除随机特性 ─── 使错误可再现

 

然而,最好的测试代码应该是透明的代码,不管程序员
能否感觉到它们的存在,它们都会起作用。

 

那么,程序员测试其程序的最好办法是什么呢?是对其进行逐条的
跟踪,对中间的结果进行认真的查看

不要等到出了错误再对程序进行逐条的跟踪

 

,对代码进行逐条跟
踪的程序员很快就会学会编写较小的容易测试的函数,因为对于大函数进行逐条的跟踪非
常痛苦

程序员还会花
更多的时间去考虑如何使必需做的大变动局部化,以便能够更容易地进行相应的测试。

 

源级调试程序可能会隐瞒执行的细节
对关键部分的代码要进行汇编指令级的逐条跟踪

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值