基于doxygen的c++注释规范模版

时间:2024-03-26 11:40:18

前言:我们知道,在使用doxygen时,他会自动根据你的注释生成所有变量、函数、类…的注释列表,但是如果要让他显示的规范化并且美观,需要你按照规范化的模版进行书写注释。所以下面的模版就是教你如何书写一个规范的注释(注意,这个模版针对的是c++,像c以及其他的语言会有所不同

///////////////////////////////////////////////////////////////////////////////
///  You should have received a copy of the GNU General Public License         
///  along with OST. If not, see <http://www.gnu.org/licenses/>.               
///                                                                            
///  @file     MyClass.h                                                       
///  @brief    这个类的主要作用是...                                                                              
///  @author   krishna_Lee                                                                                                        
///  @version  1.0.0.1                                                
///  @date     2017.01.25                                                                                
///                                                                          
///////////////////////////////////////////////////////////////////////////////

#ifndef LIBRARY_NAME_COMPONENT_NAME_H_INCLUDED
#define LIBRARY_NAME_COMPONENT_NAME_H_INCLUDED

/** 
    这是MyClass类的说明
*/
class MyClass
{
public:

    /** 简要说明1 */
    void function1() const noexcept;

    /** 简要说明2

        详细说明2
    */
    void function2() const noexcept;

    /** 简要说明3

        详细说明3
        详细说明3...
    */
    void function3() const noexcept;

    /** 简要说明4

        详细说明4
        详细说明4...

        @param arg1     参数1的说明...
        @param arg2     参数2的说明...
    */
    void function4(bool arg1, bool arg2);

    /** 简要说明5

        详细说明5
        详细说明5...

        @param arg1     参数1的说明...
        @param arg2     参数2的说明...
        @return         返回值的说明...
    */
    int function5(int arg1, int arg2);

    /** 简要说明6

        详细说明6
        详细说明6...

        @param arg1     参数1的说明...
        @param arg2     参数2的说明...
        @return         返回值的说明...
        @see function1  参考(链接function1)
        @note           注释...
        @attention      注意...
        @bug            存在的问题...
        @warning        警告...
    */
    int function6(int arg1, int arg2);

    /** 简要说明MyEnum...

        详细说明MyEnum...
    */
    enum MyEnum
    {
      int EVal1,     ///< 后置简要说明EVal1...
      int EVal2      ///< 后置简要说明EVal2...
    };
protected:
    int value; ///< 后置简要说明value...
}

#endif// LIBRARY_NAME_COMPONENT_NAME_H_INCLUDED

效果图:
基于doxygen的c++注释规范模版