c++注释规范-reactosjira.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c注释规范-reactosjira

C++注释规范 版本:1.0 制定部门:技术架构部C++基础架构组 2006.8 目录 1 说明 3 2 注释种类 3 2.1 重复代码 3 2.2 解释代码 3 2.3 代码标记 3 2.4 概述代码 3 2.5 代码意图说明 4 2.6 传达代码无法表达的信息 4 3 注释原则 4 3.1 站在读者的立场编写注释 4 3.2 注释无法取代良好的编程风格 4 3.3 好注释能在更高抽象层次上解释我们想干什么 5 4 规范细则 5 4.1 文件注释规范 5 4.2 名字空间注释规范 6 4.3 类定义注释规范 7 4.4 数据声明注释规范 8 4.5 函数注释规范 8 4.6 代码标记注释规范 10 5 FAQ 10 5.1 枚举值需要注释吗? 10 5.2 前置条件、后置条件和不变式有必要注释出来吗? 10 5.3 写注释太耗时间怎么办? 11 5.4 有效的注释是指什么? 11 参考书目 11 参考工具 11 1 说明 本文档用于规范C++代码注释。规范中提出的多数注释格式都来源于文档生成工具doxygen,所以遵从本规范进行注释的C++代码都可以使用doxygen生成美观一致的代码文档。同时另一方面,美观绝非衡量文档质量的唯一标准。文档内容准确与否,是否充分,语言组织是否清晰流畅,都是决定一份文档质量的重要标准。遗憾的是,这些标准当中有不少通过主观加以判断,很难明确规范。所以尽提供的评判标准同时,本规范中也不可避免的提出了一些比较主观的注释要求或是建议,这些要求或是建议多数都来自于年的开发经验。遵循它们不仅有助于生成一份的代码文档。更重要,依照这些要求和建议来编写注释,能够有效的帮助开发者在早期就反省自己设计,同时也为单元测试。是代码复审者。,小心编写注释避免出现可笑的错误是最重要的。 接下来的读者是代码的这部分大多并不关心代码中使用了何等绝妙的高超技术更感兴趣。所以 最后一类,怎么说呢,,,占据单独一行并用@date加以标记 也可以包含以下一些可选内容: 文件内容的详细描述,紧接简要描述之后并与其以一空行隔开 文件版本,占据单独一行并用@version加以标记,使用maj.min格式表示,其中maj为主版本号,min为次版本号。 文件注释需要放到每个代码文件的起始位置。这里提供了一个完整的格式示例,多数情况下可以完全照搬其格式。 /** * @file Shape.h * @brief 包含图形基类Shape * * 本示例文件中包含了类Shape的定义,以及此处省去的十余字… * * @author wenruiyun@myce.net.cn * @version 1.0 * @date 2006 */ 请注意,正如我们《C++编码规范》中提到的。在C++世界中,我们不应该使用C风格的/*…*/块注释,而应该使用C++风格的//行注释。是的,我们应该毫不动摇的恪守这一条款。但是,由于我们希望借助doxygen帮助我们生成漂亮的文档,如果我们在对文件注释的风格选取上毫不通融的话,doxygen会为我们生成一大片可笑的空白: 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 #pragma once 00012 00013 #include utility.h 00014 00018 namespace MyGraph 00019 { 为了避免这样的尴尬场面,我们只好破例留下了这段C风格文件注释。好在这是唯一必须使用C风格注释才能令doxygen满意的地方,跨过文件注释之后,我们仍然应该虔诚的遵循C++的行注释风格。 4.2 名字空间注释规范 名字空间是一个好东西,编写名字空间注释的要点是,不要试图把这个名字空间介绍的面面俱到。简单的介绍设置这个名字空间的意图或是完全不要注释都是不错的选择。 如果决定要为名字空间添加注释,有一点非常重要:无论如何不要试图给同一个名字空间提供两份不同的注释,不管这些注释是否位于同一个代码文件中。一个有效的做法是,一开始不用给名字空间添加任何注释,先用doxygen生成文档,发现哪个名字空间缺少文档,再挑选一个最合适的代码文件进行名字空间注释。下面是一个名字空间注释的格式示例: /// @brief 包含一系列图形元素 /// /// 在MyGraph名字空间中,包含一系列图形元素,所有的这些图形元素都派生于Shape类 namespace MyGraph { /// @brief 提供对MyGraph中所有图形元素公共特性的抽象 /// /// 具备可显示,可移动等特征的图形基类,所有其他的图形元素都派生自该类型。 /// MyGraph的用户多数情况下都会

文档评论(0)

daoqqzhuan3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档