• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 27, comments - 14, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            doxygen總結

            Posted on 2009-10-15 10:45 heeeey 閱讀(738) 評論(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,創建普通文檔。”


             

            狠色狠色狠狠色综合久久| 日本久久久久亚洲中字幕 | 欧美精品一本久久男人的天堂| 精品999久久久久久中文字幕| 久久久久久综合一区中文字幕 | 91精品国产91久久久久久蜜臀 | 欧美激情精品久久久久久| 欧美亚洲国产精品久久| 97久久超碰国产精品旧版| 久久综合九色综合欧美就去吻| 久久久无码精品午夜| 青青草原精品99久久精品66| 狠狠久久综合伊人不卡| 久久久久久狠狠丁香| 欧美久久久久久午夜精品| 性欧美丰满熟妇XXXX性久久久| 欧美日韩中文字幕久久久不卡| 久久发布国产伦子伦精品 | 久久精品国产精品国产精品污| 精品久久久久成人码免费动漫 | 久久国产精品成人免费| 亚洲国产欧美国产综合久久| 精品久久久无码中文字幕| 狠狠色丁香婷婷综合久久来 | 国产一区二区精品久久岳| 欧美亚洲色综久久精品国产| 人妻无码精品久久亚瑟影视| 99久久精品免费| 久久狠狠色狠狠色综合| 国内精品久久久久影院一蜜桃| 亚洲AV无码久久精品色欲 | 无码国产69精品久久久久网站| 午夜精品久久影院蜜桃| 91精品婷婷国产综合久久| 久久se精品一区二区| 2020最新久久久视精品爱| 国内精品伊人久久久久| 日韩一区二区久久久久久| 潮喷大喷水系列无码久久精品| 精品久久久久久久无码| 精品久久久无码人妻中文字幕豆芽 |