Doxygen注释风格

内容参见http://blog.51cto.com/ticktick/188674

https://blog.csdn.net/czyt1988/article/details/8901191

1      Doxygen的注释风格

1.1   综述

在每个代码项中都可以有两类描述, 这两类描述将在文档中格式化在一起: 一种就是 brief描述, 另一种就是 detailed。 两种都是可选的,但不能同时没有。
顾名思义, 简述(brief)就是在一行内简述地描述。而详细描述(detailed description)则提供更长, 更详细的文档。
Doxygen支持c、c++风格注释以及javaDoc风格注释等。
若需要通过Doxygen生成漂亮的文档,一般有如下几个地方需要使用Doxygen支持的风格进行注释:
    1) 文件头(包括.h和.cpp)
        主要用于声明版权,描述本文件实现的功能,以及版本信息等
    2) 类定义
        主要用于描述类功能,同时也可以包含使用方法或者注意事项的简要描述
    3) 类成员变量定义
        在类成员变量上方,对该成员变量进行简要地描述
    4) 类的成员函数定义
        在类定义的成员函数上方,对该成员函数功能进行简要描述
    5) 函数的实现在函数的实现代码处,详细描述函数的功能、参数的含义、返回值的含义、使用本函数需要注意的问题、本函数使用其他类或函数的说明等

1.2    Doxygen支持的指令

1.2.1   概述

可以在注释中加一些Doxygen支持的指令, 主要作用是控制输出文档的排版格式,使用这些指令时需要在前面加上“\”或者“@”符号,告诉Doxygen这些是一些特殊的指令,通过加入这些指令以及配备相应的文字,可以生成更加丰富的文档,下面对比较常用的指令做一下简单介绍。

1.2.2   常用指令介绍

@file
档案的批注说明。
@author
作者的信息
@brief
用于class 或function的简易说明,通常在一行内完事儿
eg
@brief  本函数负责打印错误信息串
使用以空行(或者小数点加空格)作为简述与详述的分割

1、使用空行分割简述与详述

///   Brief description   
///   description continued.   
///      
///   Detailed description starts here.  
2、以小数点加空格作为分隔如下:
///         Brief description  
///         description continued . (注意:这里有一个小数点,加上一个空格)  
///         Detailed description starts here.  
///  

@param
主要用于函数说明中,后面接参数的名字,然后再接关于该参数的说明
@return
描述该函数的返回值情况
eg:
@return  本函数返回执行结果,若成功则返回TRUE,否则返回FLASE
@retval
描述返回值类型
eg:
@retval NULL  空字符串。
@retval !NULL  非空字符串。
@ note
注解
@attention
注意
@warning
警告信息
@enum
引用了某个枚举,Doxygen会在该枚举处产生一个链接
eg
@enum CTest::MyEnum
@var
引用了某个变量,Doxygen会在该枚举处产生一个链接
eg
@var CTest::m_FileKey
@class
引用某个类,
格式:@class <name> [<header-file>] [<header-name>]
eg:
@class CTest "inc/class.h"
@exception
可能产生的异常描述
eg:
@exception 本函数执行可能会产生超出范围的异常
 

1.3      注释风格的分类描述

1.3.1    文件头说明

文件头说明按照如下格式写
/*!
* \file Ctext.h
* \brief 概述 
* 
*详细概述 
* 
* \author 作者,包含email等 
* \version 版本号(maj.min,主版本.分版本格式) 
* \date 日期 
*/
上注释等下于下面这种写法
/*!
 \file Ctext.h
\brief 概述 
详细概述 
\author 作者,包含email等 
\version 版本号(maj.min,主版本.分版本格式) 
\date 日期 
*/
对于vs编译器可能中间那行*号比较麻烦,可以不写,对于Qt这种要去掉中间的*号反而是件麻烦事就不用去掉
用doxygen生成注释如下效果



1.3.2    命名空间

命名空间说明如下写
// \brief 命名空间的简单概述 
/// 
///命名空间的详细概述
namespace text
{
 
}
生成的doxygen效果如下

1.3.3    类说明

类的注释类似命名空间

/// \brief Ctext的doxygen测试
///
/// 作doxygen测试用
class Ctext
{
}

生成的doxygen效果如下

1.3.4    函数

1.3.4.1详细注释样式

函数最好采用详细注释,这里只给出详细注释的样式

/// \brief 函数简要说明-测试函数
/// 
/// 函数详细说明,这里写函数的详细说明信息,说明可以换行
/// ,如这里所示,同时需要注意的是详细说明和简要说明之间必须空一行
/// ,详细说明之前不需要任何标识符
/// \param n1 参数1说明
/// \param c2 参数2说明
/// \return 返回说明
bool text2(int n1,Ctext c2);
生成的效果如下:

1.3.4.2 带参见的注释方式
/// \brief 函数说明-测试函数4
/// \param n1 参数1说明
/// \param c2 参数2说明
/// \return 返回说明
/// \see text3 text2 text
bool text4(int n1,Ctext c2);

生成效果如下:

\see 上可以带中文等说明,doxygen会自动识别代码里存在的函数

1.3.5 变量注释

变量注释用///< 对变量进行说明,对于详细信息可以加\brief
int m_a;     ///< 成员变量1m_a说明
double m_b; ///< 成员变量2m_b说明
 
/// \brief 成员变量m_c简要说明
///
/// 成员变量m_c的详细说明,这里可以对变量进行
///详细的说明和描述,具体方法和函数的标注是一样的
float m_c;

如果变量需要详细说明的可已按照m_c的写法写,注意,m_b和m_c之间一定需要空行,否则会导致m_b的简述消失
上注释用doxygen生成文档的具体效果如下




1.3.6枚举

枚举变量的标注如下:

/// \brief xxx枚举变量的简要说明
///
/// xxx枚举变量的详细说明--枚举变量的详细说明和函数的详细说明
///的写法是一致的。每个枚举变量下可以进行单独说明
enum{
    em_1,///< 枚举值1的说明
    em_2,///< 枚举值2的说明
    em_3 ///< 枚举值3的说明
};
枚举的总体说明和函数的写法一致,每个枚举变量的说明和变量的说明写法一致
上注释用doxygen生成效果如下:



  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值