现在的位置: 首页 > 综合 > 正文

doxygen注释语法(一):JavaDoc注释风格、文件头和类注释

2013年10月26日 ⁄ 综合 ⁄ 共 6048字 ⁄ 字号 评论关闭

1、JavaDoc注释风格

注释风格有多种,本文采用JavaDoc注释风格

Java风格如下,注释第一行为/**,然后中间每一行注释以*号开始,且为了方便阅读,一般*后空一字符,最后一行以*/结束,*与上一行*对齐。

  1. /** 
  2.  * 
  3.  * 
  4.  * 
  5.  */  

2、简要注释和详细注释

注释应写在对应的函数或变量前面。JavaDoc风格下,自动会把第一个句号
"."
前的文本作为简要注释,后面的为详细注释。你也可以用空行把简要注释和详细注释分开。注意要设置JAVADOC_AUTOBRIEF设为YES。@brief 表面后面为简要注释,当然,仅仅写下下面几行字,在说明文档中什么都不会出现,必须表明是对什么的注释,比如是对文件还是类还是成员的注释。

  1. /** 
  2. * @brief 简要注释Brief Description. 
  3. * 
  4. * 这里是详细注释Detailed Description 
  5. */  

3、注释从高级层次到细节层次

先从文件开始注释,然后是所在文件的全局函数、结构体、枚举变量、命名空间→命名空间中的类→成员函数和成员变量。

4、文件头注释@file

因为文件不在任何东西里面,所以不能像类、函数等在上方放注释,只能用@file方式定义,其格式如下

  1. /** @file  
  2. * @brief brief description 
  3. * @author <list of authors> 
  4. * [@author <authors description>] 
  5. * @date <date> 
  6. * @version <version number> 
  7. * @note 
  8. * detailed description 
  9. */  

[]表示可选,{}表示重复0到N次,<>表示必须参数

 一般@file后我们空着,Doxygen会默认为是@file所在文件的文件名。

@brief为建明注释

@aothor为作者列表

@date为日期

@version为版本号

@note为注解

上面五项共同构成文件的详细描述,考虑如下注释

  1. /** @file 
  2.  * @brief 分页细节层次(LOD). 
  3.  * @author Archie 
  4.  * @date June 29,2013 
  5.  * @version 1.0.0.0 
  6.  * @note  
  7.  * 分页细节层次(LOD)是Level Of Details 
  8.  */  
  9. #include "stdafx.h"
      
  10.   
  11. #include <osgViewer/Viewer>
      
  12.   
  13. #include <osg/Node>
      
  14. #include <osg/Geode>   
  15. #include <osg/Group>
      
  16. #include <osg/PagedLOD>   
  17. #include <osg/PositionAttitudeTransform>
      
  18. #include <osg/MatrixTransform>
      
  19.   
  20. #include <osgDB/ReadFile>   
  21. #include <osgDB/WriteFile>
      
  22.   
  23. #include <osgGA/TrackballManipulator>
      
  24.   
  25. #include <osgUtil/Optimizer>
      
  26.   
  27. #include <iostream>  

其中的详细描述如图所示

文档整体结构如下组织

  1. 首先是简要说明 ,点击旁边的“更多”可以查看详细描述
  2. 接着是包含的文件列表
  3. 然后是引用关系图
  4. 如果勾选了前面的源码选项还会附带源码
  5. 然后是全局函数等
  6. 最后是详细描述

 

 

其中使用graphviz生成的引用关系图如下,点击任意文件可查看此文件的源代码

5、类注释

类注释的格式

  1. /** 
  2. * @class <class‐name> [header‐file] [<header‐name] 
  3. * @brief brief description 
  4. * @author <list of authors> 
  5. * @note 
  6. * detailed description 
  7. */  

header‐file是类声明所在的头文件名字,header‐name是要显示的链接文字,一般为头文件的真实路径在include<XX>中显示。

  1. /** 
  2. * @class CTest PagedLOD.cpp CTest.h 
  3. * @brief 测试 
  4. * @author Archie 
  5. * @note 
  6. * 测试Doxygen的类注释 
  7. */  
  8. class CTest  
  9. {  
  10. public:  
  11. private:  
  12. }  

以上代码仍是在PagedLOD.cpp中定义,为了演示方便,CTest.h为假定的路径名(并未创建)。

点击CTest,进入类CTest介绍,其中CTest前的C表示索引字母为C,点击类索引可以根据索引字母查找类。

------------------

类索引根据类的首字母进行索引排序

1、JavaDoc注释风格

注释风格有多种,本文采用JavaDoc注释风格

Java风格如下,注释第一行为/**,然后中间每一行注释以*号开始,且为了方便阅读,一般*后空一字符,最后一行以*/结束,*与上一行*对齐。

  1. /** 
  2.  * 
  3.  * 
  4.  * 
  5.  */  

2、简要注释和详细注释

注释应写在对应的函数或变量前面。JavaDoc风格下,自动会把第一个句号
"."
前的文本作为简要注释,后面的为详细注释。你也可以用空行把简要注释和详细注释分开。注意要设置JAVADOC_AUTOBRIEF设为YES。@brief 表面后面为简要注释,当然,仅仅写下下面几行字,在说明文档中什么都不会出现,必须表明是对什么的注释,比如是对文件还是类还是成员的注释。

  1. /** 
  2. * @brief 简要注释Brief Description. 
  3. * 
  4. * 这里是详细注释Detailed Description 
  5. */  

3、注释从高级层次到细节层次

先从文件开始注释,然后是所在文件的全局函数、结构体、枚举变量、命名空间→命名空间中的类→成员函数和成员变量。

4、文件头注释@file

因为文件不在任何东西里面,所以不能像类、函数等在上方放注释,只能用@file方式定义,其格式如下

  1. /** @file  
  2. * @brief brief description 
  3. * @author <list of authors> 
  4. * [@author <authors description>] 
  5. * @date <date> 
  6. * @version <version number> 
  7. * @note 
  8. * detailed description 
  9. */  

[]表示可选,{}表示重复0到N次,<>表示必须参数

 一般@file后我们空着,Doxygen会默认为是@file所在文件的文件名。

@brief为建明注释

@aothor为作者列表

@date为日期

@version为版本号

@note为注解

上面五项共同构成文件的详细描述,考虑如下注释

  1. /** @file 
  2.  * @brief 分页细节层次(LOD). 
  3.  * @author Archie 
  4.  * @date June 29,2013 
  5.  * @version 1.0.0.0 
  6.  * @note  
  7.  * 分页细节层次(LOD)是Level Of Details 
  8.  */  
  9. #include "stdafx.h"
      
  10.   
  11. #include <osgViewer/Viewer>
      
  12.   
  13. #include <osg/Node>
      
  14. #include <osg/Geode>   
  15. #include <osg/Group>
      
  16. #include <osg/PagedLOD>   
  17. #include <osg/PositionAttitudeTransform>
      
  18. #include <osg/MatrixTransform>
      
  19.   
  20. #include <osgDB/ReadFile>   
  21. #include <osgDB/WriteFile>
      
  22.   
  23. #include <osgGA/TrackballManipulator>
      
  24.   
  25. #include <osgUtil/Optimizer>
      
  26.   
  27. #include <iostream>  

其中的详细描述如图所示

文档整体结构如下组织

  1. 首先是简要说明 ,点击旁边的“更多”可以查看详细描述
  2. 接着是包含的文件列表
  3. 然后是引用关系图
  4. 如果勾选了前面的源码选项还会附带源码
  5. 然后是全局函数等
  6. 最后是详细描述

 

 

其中使用graphviz生成的引用关系图如下,点击任意文件可查看此文件的源代码

5、类注释

类注释的格式

  1. /** 
  2. * @class <class‐name> [header‐file] [<header‐name] 
  3. * @brief brief description 
  4. * @author <list of authors> 
  5. * @note 
  6. * detailed description 
  7. */  

header‐file是类声明所在的头文件名字,header‐name是要显示的链接文字,一般为头文件的真实路径在include<XX>中显示。

  1. /** 
  2. * @class CTest PagedLOD.cpp CTest.h 
  3. * @brief 测试 
  4. * @author Archie 
  5. * @note 
  6. * 测试Doxygen的类注释 
  7. */  
  8. class CTest  
  9. {  
  10. public:  
  11. private:  
  12. }  

以上代码仍是在PagedLOD.cpp中定义,为了演示方便,CTest.h为假定的路径名(并未创建)。

点击CTest,进入类CTest介绍,其中CTest前的C表示索引字母为C,点击类索引可以根据索引字母查找类。

------------------

类索引根据类的首字母进行索引排序

抱歉!评论已关闭.