在实现文件中包含注释类声明

时间:2009-11-17 17:38:55

标签: c++ documentation comments code-readability

每个人都知道更易读的代码的优点。因此,为了使我的代码更具可读性,我通常在该类的实现文件中包含注释类声明 这样我就不必浏览各种包含目录来定义 那么,这是一个好的做法还是只是过度记录? 如果有一些标准技术,请告诉我 修改:
有没有办法从Vim中的实现迁移到类声明?
除了在新的缓冲区中打开它。

由于

4 个答案:

答案 0 :(得分:7)

这实际上适得其反,因为现在您在修改类声明时必须更改三个位置而不是两个,并且编译器不会检查其中一个位置以捕获任何不匹配。

此外,在大型且快速发展的项目中,评论总是过时,因此无法信任。

所有现代IDE都可以通过多种方式帮助从类实现中访问类声明,所有这些方法都比滚动到文件顶部然后返回更方便。

作为替代方案,请考虑使用doxygen等自动文档工具。可以告诉Doxygen在文档中包含整个类声明 - 包括语法突出显示,行号和源文件的链接。您可以在构建过程中包含doxygen传递,并始终拥有最新的代码参考。

答案 1 :(得分:3)

这违反了DRY原则:您必须在更改声明时维护评论。

这对你的代码没有多大帮助。

正如他们所说(来自记忆):“如果代码和评论讲述不同的故事,他们肯定都错了。”

有用的是:

  • 确保标题中的类声明有详细记录和/或非常清楚类使用:这是类的大多数用户首先看到的地方,因为这是“手册”你的班级(无论是评论还是明确的功能);
  • 以一种表达你的意图的方式写下这些评论,而不是它将会做什么:意图是它应该做什么,而不是它做什么(如果它是错误的) - 你这样做的方式线索给其他人(或者你自己以后)修复你的实施中的错误,因为他们可以理解你试图做的事情;
  • 不会在您的定义文件(cpp)中报告您的标题评论,因为它会变成红色!
  • 在定义代码中写下评论,您需要告诉其意图以及您的工作可能不明显;
  • 如果可能,用实际代码(函数或类)替换实现代码中的注释:您通常可以将代码块封装在具有显式名称的函数中或者在变量中操作的结果具有明确的名称 - 程序员将比不明确的评论更多地推动执行代码....

答案 2 :(得分:2)

这没有多大帮助,因为当类定义大于一个屏幕时,你的同事必须向上滚动才能获得声明。 现代IDE非常适合查找声明,所以恕我直言,这是没用的。

有时唯一真正重要的是你放入了访问标识符 在定义函数时的注释中。这确实为试图理解代码的人节省了时间。

这样的事情已经足够了:

//private
void Car::ReplaceDriver(const std::string & NewDriver)
{

}

答案 3 :(得分:1)

我认为它过度记录,从未在其他地方见过它。在修改课程时,评论将很快失去同步(或者在那里看你永远不确定)。

不确定您使用的环境,但在查找声明时,我通常使用编辑器的功能(在Mac Xcode和Windows VisualStudio上,您可以右键单击某些内容,然后跳转到它的定义或声明)。

相关问题