.Net魔法堂:提取注释生成API文档
一、前言
在多人协作的项目中,除了良好的代码规范外,完整的API文档也相当重要。通过文档我们快速了解系统各模块的实际接口,及其使用场景、使用示例,一定程度上降低沟通成本,和减少后期维护中知识遗失等风险。
对于.Net,我们可以直接将类、方法等的注释直接转为API文档,极大地减少文档维护的工作量,同时也能反向提高大家的注释质量。
下面我们使用.Net唯一的注释生成API文档工具——Sandcastle和Sandcastle Help File Builder来实现API文档自动化吧!
二、工具
Sandcastle: http://sandcastle.codeplex.com/
Sandcastle Help File Builder:http://shfb.codeplex.com/
三、从注释到API文档
1. 生成XML文档文件
步骤:1. 在VS中,右击程序集->选择“属性”->选择“生成”页->勾选“XML文档文件”
2. 编译程序集后,在生成目录下可以找到“程序集名称.XML”文件。
2. 使用SandcastleBuilderGUI.exe生成API文档
安装工具Sandcastle和Sandcastle Help File Builder后,点击SandcastleBuilderGUI.exe即可进入文档生成项目的界面。
步骤:1. 配置文档基本信息:点击“Help File”页
按照上图,依次配置文档标题,文档名称,文档语言,文档风格。
2. 将程序集DLL和XML文件加载到文档生成项目中。
右击“Documentation Sources”,选择“Add Documentation Sources”,然后将程序集DLL和XML添加进来即可。
3. 生成API文档
点击菜单栏的“Documentation”->“Build Project”即可,此时只需到Sandcastle Help File Builder.exe所在的目录即可找到API文档了。
四、总结
上述仅介绍了Sandcastle Help File Builder的部分功能,日后将逐渐补充。
五、参考
http://guojun2sq.blog.163.com/blog/static/643308612010116394430/
http://www.boyd.cn/info_Show.asp?ArticleID=4945
http://blog.csdn.net/chtnj/article/details/8278342
http://blog.csdn.net/chtnj/article/details/8278360
- git pull fails “unable to resolve reference” “unable to update local ref”
- 使用dropwizard(5)--加入swagger
- 使用hint来调优sql语句(72天)
- 用R语言对城管事件数据分析
- 使用dropwizard(4)-加入测试-jacoco代码覆盖率
- goldengate学习-安装篇(71天)
- 使用dropwizard(6)-国际化-easy-i18n
- 配置不同环境下启用swagger,在生产环境关闭swagger
- 使用ControllerAdvice注意事项,Ambiguous @ExceptionHandler method mapped for [class org.springframework.web.
- rac节点无法启动ORA-29702的问题及分析(70天)
- SpringMVC,SpringBoot文件下载
- SpringCloud学习1-服务注册与发现(Eureka)
- 物化视图全量刷新与insert的redo生成量测试(69天)
- SpringCloud学习2-Springboot监控模块(actuator)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 使用Mfuzz进行转录组表达模式聚类分析
- 使用PopLDdecay快速进行连锁不平衡分析
- 报错坑 | LDSC安装报错怎么解决?
- 看看斯坦福大学是如何教学生编程的
- 安全框架shiro入门示例
- maven导入jar包到本地仓库
- Python-matplotlib 空间栅格数据可视化
- 图解面试题:如何找到喜欢的电影?
- Java agent 与 byte buddy
- 关于TRTC云端混流的踩坑分享
- 聊聊dubbo-go的ConsistentHashLoadBalance
- R语言用WinBUGS 软件对学术能力测验(SAT)建立分层模型
- R语言使用随机技术差分进化算法优化的Nelson
- R语言用神经网络改进Nelson-Siegel模型拟合收益率曲线分析
- R语言和QuantLib中Nelson-Siegel模型收益曲线建模分析