天天看點

C++基礎學習之13 - 可視化設計

        講到C++的可視化設計,一般都會想到 類圖、流程圖、互動圖、部署圖等,沒錯,UML設計是C++代碼設計之前的必選項(當然對于産品經理們更關注UI,他們更願意使用Axure),但是這些不是我們所關心的,本節我們要談的是系統開發完成以後的設計圖、文檔。

        這些内容可以通過UML給出嗎?當然可以,但我相信大多數人無法做到這一點,因為在開發過程中大部分的設計早已面目全非,想保持同步的更新?(做夢吧!)

        你需要三個工具:

        Doxgen 大名鼎鼎的代碼文檔工具,下載下傳位址:http://www.stack.nl/~dimitri/doxygen/

        Graphviz 貝爾實驗室的一個開源繪圖工具,通過dot語言編寫繪圖腳本,下載下傳位址:http://www.graphviz.org/Download..php

        HTMLHelp 這個是可選項了,生成HTML文檔、CHM文檔的輔助工具,不作為本節介紹内容。

        我們先來看 GraphicViz 的使用方式。

$ cat 1.dot

digraph G {
    main -> parse -> execute;
    main -> init;
    main -> cleanup;
    execute -> make_string;
    execute -> printf
        init -> make_string;
    main -> printf;
    execute -> compare;
}
           
C++基礎學習之13 - 可視化設計

        回頭再來看 Doxgen,Linux下安裝比較簡單,我們可以輸入指令行:

sudo apt-get install doxygen 
sudo apt-get install graphviz
           

        當然在 Windows 下安裝更友善,隻需要輕按兩下 下載下傳下來的exe,這個就不用我教了吧,呵呵。

        那接下來讓 Doxgen 生成文檔圖吧,打開傳說中的 Doxgen。

C++基礎學習之13 - 可視化設計

        選擇你需要生成的文檔,确定選項,直接進行代碼生成。

        Doxgen生成文檔的依據就是注釋,我們來看一下常用的 注釋格式:

/** 頭檔案定義
* @file ClassName.h
* @brief 常見類型定義
* @author Linolzhang
* @date     2017-1-1
* @version  0.1
* @copyright Linolzhang
*/

/** 代碼段定義*/
#define CODE_LEVEL 2
#define NAME "Linolzhang"

const int Count = 20; /**< 單行定義-字尾方式*/

/** 函數定義
* @param[in] a 輸入a,整形
* @param[in] b 輸入b,整形
* @param[out] c 輸出
* @return 傳回值, 0正确,1錯誤
* @ref 參考Types.h
* @note 注意:僅支援<1024的加法
* @see 注意事項 
*/
int add(int a,int b,int& c);
           

繼續閱讀