我目前在我的cpp文件中有大约50个或更多包含.我想知道组织这种情况的最佳政策是什么.我应该继续添加更多包含吗?或者我应该采取另一种方法?如果是这样,应该是什么?
1)将每个文件的范围限制为一个类,或者限制为具有相关行为的一小组相关类.
如果您的cpp文件只有400到1000行代码,那么要求几十个包含就很难了.
此外,当您移动并进行修改时,请重新评估每个文件中包含的标头.如果您最初使用向量实现某些内容,但随后切换到set,请考虑删除#include <vector>
2)在头文件中,使用前向声明,将那些包括移动到cpp文件中.
这不直接解决您的问题,但它与管理编译时间有关.如果您可以在头文件中使用前向声明,请执行此操作.
如果啊包括bh和bh包含ch,每当ch改变时,包括ah在内的任何东西都必须重新编译.将这些包括移动到.cpp文件(通常不是#included)将限制这些级联更改.
让我们重新评估一下如果在bh中定义的前向声明类,并且a.cpp包含bh,并且如果在ch中定义了bh forward-declares类,并且b.cpp包含ch,则会发生什么
当ch改变时,b.cpp需要重新编译,但a.cpp很好.
3)在扩展功能时重新组织.
编写代码可能会发生如下:
但这缺少了一些可以产生巨大影响的步骤.
最后两个步骤可能涉及将大型函数拆分为几个较小的函数,打破类,以及(与此问题相关)为已扩展其当前编译单元的功能创建新文件.
如果你继续前进,你的代码似乎工作,并且不花一点时间来整理它,相当于一个木匠将腿锤在桌子上,但从不花一点时间来磨砂和抛光结果.有时候可以用一些带有一些腿的胶合板,但是如果你想要一个漂亮的餐桌,你会发现这种方法不能胜任这项任务.
没有简单的方法来减少cpp文件的包含,最终那些包括需要存在于某处(前提是依赖于那些包含的原始代码仍然存在,如果不存在,那么只需删除无关的包含)和.cpp文件比.h文件更好.但是,通过精心管理和组织,您可以维护更小,更模块化的源代码.这最终是你如何防止事情变得不可行.
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |