- 它们使评论和代码晦涩难懂(对人类来说更难读)。
- 单个屏幕上可以查看的代码更少,因为“summary”和“/summary”需要额外的行。
- (已删除)
我并不是说DOxygen不好,只是XML注释系统更为常见,这样更方便大家。这就是你无需培训新员工做的一件少事。
至于留下未加注释的变量。对于你来说很明显的内容对别人(或者过了6个月再看的你)来说未必如此。
现在我想我明白你在问什么了。
混淆的注释。颜色编码有所帮助。个人而言,我会快速浏览灰色文本,并且只读取绿色文本(至少在我的设置中)。
我们有大屏幕,因此通常可以在屏幕上显示更多的代码。(购买一个大屏幕比重新培训人员成本更低)。另外一个方面也是,我打赌你通常只会同时关注一个函数,所以如果整个函数可以放在一页上,那么你可能不太需要看到更多的代码。现在如果函数很长,那么我可以看到这可能是个问题。
我们尽可能将摘要注释放在一行上(假设没有太大)。这样可以节省使用空间。
我不知道DOxygen是否支持此功能,但你可以折叠注释以使其脱离视线。
C#编译器和Visual Studio原生支持XML注释,提供了一个单一的位置来记录API,这些API可以用于打印、在线和智能感知文档。
MSDN杂志上的这篇文章指出:
在每个项目中,总有人对文档不满意。团队领导希望在源代码中增加更多注释,技术作家希望在代码设计方面增加更多书面信息,质量保证人员希望看到功能规格说明等等。如果所有这些文档都实际编写了,你仍然需要努力保持它们的同步。
虽然格式不一定理想,但XML文档注释提供了丰富的语法,可以实现这一目标。
至于为什么选择现有的XML系统而不是DOxygen,我认为这主要是因为DOxygen是根据GPL发布的,这意味着Visual Studio和C#编译器也需要按照GPL发布 - 这是微软无论如何都不想做的事情,考虑到GPL的条款和条件。
你并不是必须在你的项目中使用它们。
它们是一个标准,恰好集成在Visual Studio中,如果你使用StyleCop,它们可以被强制执行。所以这就是这里的优点。
然而,如果你决定要使用DOxygen,那么没有什么可以阻止你。只要确保你是一致的。
在我看来,这里并没有一个正确的答案。实际上,两个系统都能完成同样的工作,即允许您生成代码文档,因此它们在本质上都没有“更好”的一方。
最终输出可以以完全相同的方式格式化,它们在支持标签等方面几乎具有相同的功能,因此这真的取决于个人选择。
就个人而言,我发现XML注释更易于阅读,更合乎逻辑,而且使用起来非常简单 - 但这是在Visual Studio自动为我生成存根的优势下,并且它对折叠注释的支持非常出色,因此它们不会占用屏幕上的大量空间。我相信,来自VI或其他IDE背景的编辑者会有不同的意见,但是两者之间没有真正的优势。
因此,我认为这取决于您使用的IDE以及您和您的团队习惯使用什么。
如果你问为什么微软选择在Visual Studio中与XML注释紧密集成,那就是另外一个问题了。很可能是因为:它对他们来说更容易在VS中实现(因为他们可以重用现有的代码来生成/读取注释并构建智能感知等),无论是自己的标准还是行业标准,他们都有坚持“标准”的趋势,并且正如Jeff所提到的那样,还有许可证原因。
只是补充一下,微软在VS中使用的产品名为“Sandcastle”,这是一个内部XML文档生成工具。它有自己的维基页面@ http://docproject.codeplex.com/Wikipage