讲到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;
}
回头再来看 Doxgen,Linux下安装比较简单,我们可以输入命令行:
sudo apt-get install doxygen
sudo apt-get install graphviz
当然在 Windows 下安装更方便,只需要双击 下载下来的exe,这个就不用我教了吧,呵呵。
那接下来让 Doxgen 生成文档图吧,打开传说中的 Doxgen。
选择你需要生成的文档,确定选项,直接进行代码生成。
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);