使用什么都不做的功能
Use of do nothing function
什么都不做的函数(在 C 中)有哪些用例,例如:
dummy() {}
我正在阅读 K&R 的 "The C programming Language",在第 4 章(函数和程序结构)中提到
A do-nothing function like this (shown above) sometimes useful as a place holder during program development.
谁能解释一下作者的意思以及这些函数的用途?
一个(还)什么都不做的函数表明应该做某事,但还没有实现。
当您编写代码来解释某事时,最好省略次要功能,因此 reader 关注问题而不是细节。
相反,当你编写一个真正的程序时,我更喜欢先创建次要功能,测试它们,然后将所有重点放在主流上。
看看 "Skeleton"、"dummy code"、"mock objects" 等编程习惯用法。这是一种非常常见的技术,可以让您测试程序的整个体系结构而无需落实每一个细节。
假设您有一个能够通过调用函数 save()
将结果保存在文件中的应用程序,您希望能够测试该应用程序而无需将结果真正保存到文件中。所以函数 save()
可以是一个空函数!像这样写很常见(这里是伪代码):
save() {
print "save() not yet implemented";
}
能够跟踪呼叫。
您已经收到了答案,但为了详细说明 为什么 部分,让我加两分。
如果您尝试使用没有定义的函数(调用函数),linker will throw undefined reference error,因为它将无法找到 actual 给定目标文件中任意位置的函数定义到 link 到.
因此,有时在开发阶段,当您需要调用 API 时 尚未 实施(或直到时间不可用),一个虚拟添加了函数定义,
- 没有任何意义
- 或returns固定值
只是为了编译和检查(测试)调用函数(模块)的工作。如果没有虚拟函数定义,调用函数的代码将抛出错误。
什么都不做的函数(在 C 中)有哪些用例,例如:
dummy() {}
我正在阅读 K&R 的 "The C programming Language",在第 4 章(函数和程序结构)中提到
A do-nothing function like this (shown above) sometimes useful as a place holder during program development.
谁能解释一下作者的意思以及这些函数的用途?
一个(还)什么都不做的函数表明应该做某事,但还没有实现。
当您编写代码来解释某事时,最好省略次要功能,因此 reader 关注问题而不是细节。
相反,当你编写一个真正的程序时,我更喜欢先创建次要功能,测试它们,然后将所有重点放在主流上。
看看 "Skeleton"、"dummy code"、"mock objects" 等编程习惯用法。这是一种非常常见的技术,可以让您测试程序的整个体系结构而无需落实每一个细节。
假设您有一个能够通过调用函数 save()
将结果保存在文件中的应用程序,您希望能够测试该应用程序而无需将结果真正保存到文件中。所以函数 save()
可以是一个空函数!像这样写很常见(这里是伪代码):
save() {
print "save() not yet implemented";
}
能够跟踪呼叫。
您已经收到了答案,但为了详细说明 为什么 部分,让我加两分。
如果您尝试使用没有定义的函数(调用函数),linker will throw undefined reference error,因为它将无法找到 actual 给定目标文件中任意位置的函数定义到 link 到.
因此,有时在开发阶段,当您需要调用 API 时 尚未 实施(或直到时间不可用),一个虚拟添加了函数定义,
- 没有任何意义
- 或returns固定值
只是为了编译和检查(测试)调用函数(模块)的工作。如果没有虚拟函数定义,调用函数的代码将抛出错误。