分享

例子注释建议遵守Doxygen规范

 amine 2012-05-17

主要用到的Doxygen一些编码规范:

1.ANSI standard data types defined in the ANSI C header file <stdint.h> are used.   Doxygend编码规范

stdint.h中,常用的数据类型如下:

typedef   signed             char  int8_t;
typedef   signed short       int   int16_t;
typedef   signed             int   int32_t;
typedef   signed           __int64 int64_t;
typedef   unsigned           char  uint8_t;
typedef   unsigned short     int   uint16_t;
typedef   unsigned           int   uint32_t;
typedef   unsigned         __int64 uint64_t;


2.#define constants that include expressions must be enclosed by parenthesis.   

例如:

/** SSP data size select, must be 4 bits to 16 bits */
#define SSP_CR0_DSS(n)                  ((uint32_t)((n-1)&0xF))


3.推荐使用Doxygen comments

Doxygen comments 格式有多种,推荐使用以下方式

  • 1) 代码块以及函数注释

Function Comments provide for each function the following information:

  • brief function overview.
  • detailed parameter explanation
  • detailed information about return values

Doxygen Example

    /*************************************************************************//**
     * @brief     Send a block of data via SPI
     * @param[in] wbuf  Pointer to Transmit buffer
     * @param[in] rlen  Length of Transmit buffer
     * @return    Number of data sent
    *****************************************************************************/

                         

    • 2) 对于宏定义和结构成员的注释

    如果注释和定义在同一行, 用 /*!< xxxx */

    int  var;  /*!<  Detailed  description  after  the  member  */

      如果不在同一行,用/** xxx */

      /** EXTI Event Mode Definition */
      typedef enum {
        COX_EXTI_NONE                
      = 0,  /*!< None interrupt */
        COX_EXTI_EDGE_RISING        
      = 1,  /*!< Rising edge interrupt */
        COX_EXTI_EDGE_FALLING        
      = 2,  /*!< Falling edge interrupt */
        COX_EXTI_EDGE_RISING_FALLING
      = 3,  /*!< Both edge interrupt (Rising and Falling) */
        COX_EXTI_LEVEL_HIGH          
      = 4,  /*!< Hign Level interrupt */
        COX_EXTI_LEVEL_LOW          
      = 5,  /*!< Low Level interrupt */  
      } EXTI_EVENT_Def;

                           

      • 3) 如果宏定义和结构定义前面需要加注释则如上,加两个"**"释
      /** EXTI Event Mode Definition */

      • 4) 程序内部的注释可以不用严格参考Doxygen comments
      • 5) 一般要加注释的地方
      • 文件头注释
      • 宏定义注释
      • 全局变量注释
      • 结构体以及内部成员的注释
      • 各个函数注释

      4.为保持对齐建议行前缩进为一个TAB(TAB键值为4)

       

      5.编译结果建议达到没有waring的标准

       

      6.代码尽量保持干净,整齐

        本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
        转藏 分享 献花(0

        0条评论

        发表

        请遵守用户 评论公约

        类似文章 更多