在哪里书写类和方法的内部代码文档是惯例?
您是在头文件(.hpp)中与相应的类/方法上方书写doc-blocks还是在源码(.cpp)文件中书写?
是否有一种被广泛尊重的规范?大多数C++项目都采用一种方式而不是另一种方式吗?
或者应该在两个地方编写文档(即在.hpp和.cpp文件中),也许在一侧有一个简短的描述,在另一侧有一个更长的描述?
最重要的是,是否有任何实际考虑使其一种方式比另一种方式更方便书写?(例如使用自动文档解析器和生成器,如Doxygen...)
在哪里书写类和方法的内部代码文档是惯例?
您是在头文件(.hpp)中与相应的类/方法上方书写doc-blocks还是在源码(.cpp)文件中书写?
是否有一种被广泛尊重的规范?大多数C++项目都采用一种方式而不是另一种方式吗?
或者应该在两个地方编写文档(即在.hpp和.cpp文件中),也许在一侧有一个简短的描述,在另一侧有一个更长的描述?
最重要的是,是否有任何实际考虑使其一种方式比另一种方式更方便书写?(例如使用自动文档解析器和生成器,如Doxygen...)
双方:
对于那些不明显的内容进行注释,而对于明显的内容则不要注释(除非您的文档工具无法生成良好的文档)。
避免在头文件中放置实现文档,因为更改头文件将触发客户应用程序的makefile时间戳测试,导致不必要的重新编译(至少在企业或商业库环境中)。出于同样的原因,目标是使头文件文档稳定且可用-足够好,以便您不需要根据客户投诉或要求示例来不断更新它。
再次强调,两者都可以。至于公共文档,最好在.h文件中使用可提取的格式,例如Doxygen,正如其他人所评论的那样。我非常喜欢Perl文档编写方式。.pl(或.pm)文件本身包含了可以使用类似于Doxygen为C++代码所做的工具提取的文档。此外,Doxygen允许您创建多个不同的页面,这些页面允许您包括用户手册等,而不仅仅是记录源代码或API。总的来说,我喜欢自包含的.h/.hpp文件的思想,这符合文学编程的理念。
我个人喜欢将文档放在头文件中。然而,有些人认为文档应该放在源文件中。这是因为当某些东西发生变化时,文档会提醒你立即更新。我有些同意这种做法,因为我个人曾经忘记在更改源文件后更新头文件中的Doxygen注释。
尽管如此,出于审美原因和习惯使然,我仍然更喜欢将Doxygen注释放在头文件中。我尝试过两种方式,Doxygen允许在源文件或头文件中灵活编写文档。