Doxygen文档应该放在include guards之前吗?

4

在include guards之前还是之后放置Doxygen文档?应该将其放置于命名空间内还是外部?

假设头文件中包含一个单一类(context)的声明,这也是我在此为之记录的内容。

#ifndef CONTEXT_HPP
#define CONTEXT_HPP

#include <string>    

/**
 * The application context interface.
 */
namespace test {
    class context { ... };
}

文件文档应该出现在include guards之前,其他元素(命名空间、类、方法等)的文档应该出现在被记录的元素之前。 - πάντα ῥεῖ
他们不会破坏应用程序的构建吧?换句话说,注释在包含和编译之前被删除了吗? - Joshua MN
1
注释是注释,它们不会影响编译。 - πάντα ῥεῖ
1
为什么要在 #include 保护之前加上 #ifndef?这样做可能会增加预处理器的工作量。 - Peter Wood
@πάνταῥεῖ:怎么会呢?预处理器不是必须要浏览它们才能到达包含保护吗?(关于Peter Wood的评论)。 - einpoklum
显示剩余2条评论
1个回答

2

关于头文件的Doxygen信息

除非您的上司另有规定,否则在包含保护之前或之后放置注释并没有实质性区别。这完全取决于您(和您的团队)个人偏好。我通常将它们放在文件开头。

关于命名空间的Doxygen信息

这有点不同,在这种情况下,您应该始终将它们放在命名空间前面,因为这样可以使读者更清楚地了解头文件。您应该始终在记录元素之前放置Doxygen信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接