• <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,創建普通文檔。”


             

            久久91精品国产91久久小草| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 日韩精品无码久久一区二区三| segui久久国产精品| 久久久久国产一区二区| 久久精品久久久久观看99水蜜桃 | 伊人久久精品线影院| 久久久久亚洲AV成人网| 97精品国产97久久久久久免费| 国内精品久久久久影院优| 精品久久久久久国产三级| 中文字幕久久久久人妻| 国产叼嘿久久精品久久| 久久人人爽人人人人片av| 国产精品免费看久久久香蕉| 久久综合久久自在自线精品自| 久久播电影网| 久久99精品国产99久久| 97精品依人久久久大香线蕉97| 国产精品99久久久久久猫咪| 国内精品人妻无码久久久影院| 思思久久好好热精品国产| www.久久精品| 久久精品aⅴ无码中文字字幕重口| 久久这里有精品视频| 国产综合久久久久久鬼色| 婷婷综合久久中文字幕蜜桃三电影 | 久久精品国产99久久香蕉| 欧美777精品久久久久网| 久久丫精品国产亚洲av不卡| 久久国产欧美日韩精品免费| 老司机国内精品久久久久| 7777久久亚洲中文字幕| 国产综合久久久久| 久久久精品免费国产四虎| 国产产无码乱码精品久久鸭| 久久久久亚洲av无码专区喷水 | 久久91亚洲人成电影网站| 久久国产色AV免费观看| 久久夜色精品国产欧美乱| 久久久久久亚洲Av无码精品专口|