《C语言程序设计进阶教程》一3.4 生产代码与测试代码分离

简介: 本文讲的是C语言程序设计进阶教程一3.4 生产代码与测试代码分离,本节书摘来华章计算机《C语言程序设计进阶教程》一书中的第3章,第3.3节, Intermediate C Programming[美] 陆永祥(Yung-Hsiang Lu) 著 徐东 译 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.4 生产代码与测试代码分离
本文讲的是C语言程序设计进阶教程一3.4 生产代码与测试代码分离,你应该编写可以检测出自身bug的程序。如果你想要检查一个数组是否被排序好了,不要在屏幕上打印出元素并用自己眼睛观察。应该写一个检查数组是否排序的函数。代码通常不会打印出调试信息。相反,写一些可以帮助你不用依靠眼睛就能调试的代码。
你应该在编写程序之前就考虑编写测试代码。这是一个普遍的做法,叫作测试驱动的开发。怎样去编写测试代码呢?很多书都写了关于软件测试方面的内容。本节给你一个建议。考虑下面两个关于测试代码的例子。假设func是你想去测试的函数,test_func是测试func的代码。

这两种方法的不同在哪里呢?第一种方法(位于左侧)在程序的函数内部调用测试代码。在第二种方法中(位于右侧),测试代码位于程序外部调用func。这个差异是很重要的,因为第一种方法把测试代码与程序实际需要的代码(有时叫作“生产代码”)混在了一起。结果就是,想要把测试代码移除对你来说是很困难的。第二种方法把生产代码与测试代码分离开,所以你就能在随后很容易地移除测试代码。应该在测试你的程序时采取第二种方法。

原文标题:C语言程序设计进阶教程一3.4 生产代码与测试代码分离

相关文章
|
25天前
|
数据采集 机器学习/深度学习 大数据
行为检测代码(一):超详细介绍C3D架构训练+测试步骤
这篇文章详细介绍了C3D架构在行为检测领域的应用,包括训练和测试步骤,使用UCF101数据集进行演示。
29 1
行为检测代码(一):超详细介绍C3D架构训练+测试步骤
|
27天前
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
2月前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
27天前
|
存储 搜索推荐 C语言
深入C语言指针,使代码更加灵活(二)
深入C语言指针,使代码更加灵活(二)
|
27天前
|
存储 程序员 编译器
深入C语言指针,使代码更加灵活(一)
深入C语言指针,使代码更加灵活(一)
|
29天前
|
C语言
【C语言的完结】:最后的测试题
【C语言的完结】:最后的测试题
19 3
|
27天前
|
C语言
深入C语言指针,使代码更加灵活(三)
深入C语言指针,使代码更加灵活(三)
深入C语言指针,使代码更加灵活(三)
|
2月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
1月前
|
C语言 开发者
C语言实现猜数字小游戏(详细教程)
C语言实现猜数字小游戏(详细教程)
|
1月前
|
编译器 C语言 C++
VSCode安装配置C语言(保姆级教程)
VSCode安装配置C语言(保姆级教程)