posts - 27, comments - 14, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

doxygen总结

Posted on 2009-10-15 10:45 heeeey 阅读(726) 评论(0)  编辑 收藏 引用 所属分类: C++

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/smartduck/archive/2005/08/25/464720.aspx

一.问题
  1.工程太庞大了:代码行总数:1038099(88.24%);
  2.注释太少了:注释行总数:92759(7.88%);
  3.新员工上手教慢;
  4.维护时发现有些代码作者都看不懂了;
二.思路
  1.增加注释
  2.统一注释格式
  3.抽取注释, 生成文档, 提供给新员工
三.实现
  1. 采用doxygen注释.
  2.每个.h文件的头部,必须添加注释,格式如下:
  /** \file file.h
   * A brief file description.
   * A more elaborated file description.
   */


  3.每个类的声明上方,必须添加注释,格式如下:
  /** \class Test class.h
   *  \brief This is a test class.
   *
   * Some details about the Test class
   */
   class Test
   {
    ...
   };

  4.每个成员变量及成员函数的定义的右边或上方,必须添加注释,格式如下:
  /** Some details about the function open */
  void open();

  5.每个全局函数、全局变量、宏定义的定义的右边或上方,必须添加注释,格式如下:
  /** Some details about the function GlobalFunc*/
  void GlobalFunc();

  6.每个.cpp文件头部,必须添加注释,格式如下:
  /** \file file.cpp
   * A brief file description.
   * A more elaborated file description.
   */


   7.每个函数的实现上方,必须添加注释,格式如下:
  /** \brief A member function.
   *  \param c a character.
   *  \param n an integer.
   *  \exception std::out_of_range parameter is out of range.
   *  \return a character pointer.
   */
   const char *member(char,int) throw(std::out_of_range)
   {
   }

   8.每个枚举定义必须添加注释,格式如下:
      /** Another enum, with inline docs */
      enum AnotherEnum
      {
        V1, //< value 1
        V2  //< value 2
      };

  9.实现代码中关键的代码必须加注释,格式如下:
  {
    //some details about the next line code
    if (Button1->Enabled)
    {
    }
  }
 
  10. 必须实行代码检查机制.


注:
什么是doxygen呢?下面的介绍录自doxygen的网页:
“doxygen是一种用于C++、IDL(Corba、Microsoft和KDE-2 DCOP风格)和C的文档系统。它可以通过三种方式来帮助你:
1. 它可以从一组标有文档的源文件中生成在线文档浏览器(HTML格式),以及/或者离线参考手册(LATEX格式)。同时还支持生成RTF(MS-Word)、Postscript、超链接PDF、压缩HTML和UNIX man页面格式的输出。文档是从源文件中直接提取的,从而十分容易保持文档和源码的一致。
2. 可配置doxygen,用以从没有标注文档的源文件中提取代码结构。这对于要在大量源文件中快速地找到所需的东西来说是非常有用的。通过include依赖图、继承图和协作图等手段(它们都是自动生成的),可以使不同成分之间的关系可视化。
3. 你甚至还可以“滥用”doxygen,创建普通文档。”


 


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理