• <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 閱讀(734) 評論(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,創建普通文檔。”


             

            精品久久久久久国产三级| 久久久无码精品午夜| 久久AV高潮AV无码AV| 香蕉久久一区二区不卡无毒影院| 欧美久久久久久| 久久久久国产一区二区三区| 精品亚洲综合久久中文字幕| 久久天天躁狠狠躁夜夜avapp| 欧美成a人片免费看久久| 青青草原综合久久大伊人| 免费精品久久久久久中文字幕| 久久久久久综合网天天| 国产精品免费久久| 国产成人精品久久一区二区三区av| 国产精品成人久久久| 久久91精品国产91久久小草 | 国产午夜久久影院| 久久精品人妻中文系列| 久久久久久无码国产精品中文字幕 | 日本WV一本一道久久香蕉| 成人精品一区二区久久| 国产亚洲欧美精品久久久| 97精品久久天干天天天按摩| 国产精品久久久久9999高清| 99久久精品国产一区二区| 2021少妇久久久久久久久久| 久久热这里只有精品在线观看| 国产无套内射久久久国产| 久久免费视频网站| 久久亚洲国产成人影院网站| 99久久成人18免费网站| 国产精品毛片久久久久久久| 东京热TOKYO综合久久精品| 无码超乳爆乳中文字幕久久| 久久久久久免费一区二区三区| 午夜精品久久久久久中宇| 欧美黑人激情性久久| 久久国产精品99精品国产| 蜜桃麻豆www久久国产精品| 青春久久| 日本免费一区二区久久人人澡|