我目前正致力于开发一个指南,以提高嵌入式系统领域基于模型的C编程的可测试性。
我遇到的第一件事是它们创建了非常大的(例如4k行)函数。 对于测试问题,我建议将代码分成小块。 但我发现了一些问题,并希望现在是解决这个问题的最有效方法。
想象一下,前4k行函数有10个局部变量 现在我需要将这些变量传递给使用它们的每个函数。 什么是最好的,意味着最有效的方式。
目前我有两个想法,都有一些缺点:
是否有其他方法可以减少缺点?
答案 0 :(得分:4)
如果整个4,000行功能设法通过10个变量,我认为你可以算是幸运。
我会通过收集结构中的变量来清理它,该结构在第一个函数中实例化,然后通过传递指针与子函数共享。表现应该与你的表现非常接近。
此外,C中没有“引用”,使用该术语可能会让人感到困惑。
答案 1 :(得分:1)
形成一个具有您想要传递的变量的结构,并将该结构变量/结构指针发送给您调用的任何函数。这将减少传递更多的argumnets