C ++库之间的一致头文件名

时间:2010-07-01 04:04:39

标签: c++ coding-style header consistency

在我的项目中,我使用了两个库,v8boost。 Boost对其标头使用.hpp扩展名,而v8则为其标题使用.h扩展名。

在一天结束时,我的源代码就是这样开始的:

#include "v8.h"
#include "boost/filesystem.hpp"
...

In other question I asked about this subject,一般的答案是没关系,但我应该在名称之间保持一致。

这段代码汇编得很好,但是,编码样式/标准 - 可以吗?是否有解决此问题的方法(例如以某种方式自动将所有.hpp更改为.h?)

感谢。抱歉这些愚蠢的问题。

2 个答案:

答案 0 :(得分:3)

不要担心不一致,没关系。经常花费太多时间来思考这些细节,每个人都对此感到内疚。

与您自己的编码标准保持一致。

您最终会使用某些第三方库或几个使用不同惯例的第三方库。你无能为力,而且你使用的那些库中有两个会与你的标准相互冲突。这不仅适用于包含扩展程序,还适用于命名function_that_does_something vs FunctionThatDoesSomthing之类的对话。这很好。

我绝对强烈反对尝试更改其他人的库以符合您的编码标准。即例如,将.hpp重命名为.hpp。这是一个坏主意,当你想升级到新版本的库时,这将是一场噩梦。

花时间以更优雅的方式解决您正在解决的问题,而不是担心这样的细节。

答案 1 :(得分:1)

没关系。编码标准并没有真正进入它,因为你不得不接受你给的东西。如果v8人员只提供.h并且提升人员只提供.hpp,那么,如果没有将一组文件复制到另一个选项或提供自己的包装头文件,那么您几乎没有选择。

这两个选项对于真正可疑的好处都有不利之处,所以我不会担心你必须包含两个不同的文件扩展名。