程序设计实践:测试与排错的艺术
需积分: 0 107 浏览量
更新于2024-08-01
收藏 751KB PDF 举报
"《程序设计实践》一书由B.Kernighan和R.Pike合著,主要探讨了程序设计中的各种实际问题,包括排错、测试、性能、可移植性等多个方面。这本书强调测试与排错的区别,指出测试是为了在程序被认为能工作时找出问题,而排错是在已知问题时进行的逆向处理。书中引用了Edsger Dijkstra的观点,即测试能发现错误但不能证明无错误,提出了理想的程序构建过程应避免错误。书中还提到通过程序生成代码来确保无错误的可能性,并预告在后续章节会深入讨论此话题。在本章6.1节中,作者提倡在编码过程中就进行测试,尤其是关注边界条件,以尽早发现并预防错误。"
在这本书中,作者首先强调了测试和排错之间的本质区别,测试是主动寻找潜在问题的过程,而排错是针对已知错误的修复。Edsger Dijkstra的观点揭示了测试的局限性,即使经过了严格的测试,也不能完全保证程序的无误状态。尽管如此,对于当前的编程实践,测试仍然是必不可少的,因为程序的正确性需要通过系统化和逐步递增的测试来保证。
书中提到的一种策略是通过程序生成代码,这种方法可以在理解了问题的本质并且过程可机械化的前提下,减少人为错误。例如,高级语言编译成汇编代码、正则表达式生成文本模式匹配规则,以及电子表格中的公式计算等,都是代码生成的例子。如果生成器或翻译器本身是正确的,那么由此产生的代码也将是正确的。
在6.1节中,作者特别提醒开发者在编码时就应考虑测试,尤其是在编写代码的过程中,要对边界条件进行测试。边界条件往往是导致程序出错的常见原因,因此,对这些情况进行预先验证可以有效防止许多类型的问题出现。这种早期测试的实践有助于减少错误的累积,提高代码质量,并且能在编码阶段就发现并修复一部分问题,从而提高开发效率。
《程序设计实践》提供的是一套关于如何提升编程质量和效率的实践指南,不仅涵盖了测试和排错的策略,还包括了代码生成、程序设计的原则和方法。这本书对于想要提升编程技能的开发者,以及计算机科学的学生和专业人士来说,都是一份宝贵的参考资料。
2010-06-03 上传
2010-06-03 上传
2010-06-03 上传
2010-01-26 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-10-26 上传
2024-10-26 上传
starsoul0927
- 粉丝: 2
- 资源: 16
最新资源
- 掌握压缩文件管理:2工作.zip文件使用指南
- 易语言动态版置入代码技术解析
- C语言编程实现电脑系统测试工具开发
- Wireshark 64位:全面网络协议分析器,支持Unix和Windows
- QtSingleApplication: 确保单一实例运行的高效库
- 深入了解Go语言的解析器组合器PARC
- Apycula包安装与使用指南
- AkerAutoSetup安装包使用指南
- Arduino Due实现VR耳机的设计与编程
- DependencySwizzler: Xamarin iOS 库实现故事板 UIViewControllers 依赖注入
- Apycula包发布说明与下载指南
- 创建可拖动交互式图表界面的ampersand-touch-charts
- CMake项目入门:创建简单的C++项目
- AksharaJaana-*.*.*.*安装包说明与下载
- Arduino天气时钟项目:源代码及DHT22库文件解析
- MediaPlayer_server:控制媒体播放器的高级服务器