只是一个样式问题...

我是一个独立的游戏开发者,自己工作,我被告知是在头文件中编写整个类的“坏”习惯。我知道.h/.cpp文件组合的一些好处是,它们允许将代码拆分为多个编译块,只要它们保持不变就不需要重新编译。并允许从实现中拆分接口(interface)。

但是,这些东西都不对我有任何好处,因为我倾向于在易于改进,更改,阅读的地方实现我的实现。而且我的编译时间几乎是瞬间的(2-4秒,如果我将SFML或Box2D更新到最新版本,则需要15秒,而且它们也需要重新编译)

我认为这样的编码为我节省了很多时间,而且由于文件较少,因此我的代码对我来说没有那么“压倒性”。

但是有鉴于此,总的来说,对于没有优先考虑编译时间和接口(interface)/实现分离的小型项目,每个“file.h”设置都遵循“file.cpp”的理由吗?

最佳答案



不;在头文件中定义类和函数没有错,尤其是在不关心编译时间的小型项目中。

值得的是,我当前正在进行的业余项目有33个头文件和一个.cpp文件(不包括单元测试)。不过,这在很大程度上是由于几乎所有内容都是模板。

如果您有一个庞大的软件项目,或者需要将代码封装到一个库中并且实际上需要模块化,那么将代码从头文件中分离出来可能是有意义的。如果您想隐藏一些实现细节(例如,如果您有一些丑陋的 header 不想包含在项目的其他位置,例如WinAPI header ),则可以将代码拆分为一个单独的源文件隐藏这些细节。否则,可能只是花了很多功夫而没有收获很多。

10-07 19:38
查看更多