既然要学习D语言,
就需要用D语言去写点东西。
写东西的话,
一定会用到注释,
当然,对于一些自己整理的工具类,
也有必要导出文档,
方便以后查看。
看了D语言的介绍,
DMD编译器本身支持创建文档的参数“-D”,
而且,
文档注释的方法与JavaDoc的方法也比较类似,
所以,很快就可以使用了。
但是,
利用DMD生成的文档画面很“傻”,
一点也不活泼,
找到了一个叫“CandyDoc”的工具,
可以结合DMD生成带导航页的文档,
而且,提供了默认的css,
画面也比较好看。
下面记录了使用CandyDoc的方法,
以便日后查阅。
1、在D源代码中追加文档注释的方法。
http://www.digitalmars.com/d/2.0/ddoc.html
注释必须以“/**”开头。
常用的一些标记是:
常用标记 写道
Authors: 作者
Date: 日期
Deprecated: 废弃的
Params: 参数名=参数的描述
Returns:返回值的描述
2、例子
分别有两个D源文件,
目录结构是:
目录结构 写道
.\src\Main.d
.\src\sinpool\utils\splutils.d
module Main;
import std.stdio;
import sinpool.utils.splutils;
/**
* 练习
* Params: args=命令行参数
* Returns: 结束状态(0:正常结束)
*/
int main(string[] args){
writeln("===>",SplUtils.isEmpty("\tt"));
return 0;
}
module sinpool.utils.splutils;
import std.string;
import std.stdio;
/**
* 这是工具类
*Authors: sinpool
*Date: 2011-05-21
*/
public class SplUtils{
/**
*判断字符串是否为空。
*Params: x_str=需要判断的字符串
*Returns: 是空返回true,否则返回false
*/
public static bool isEmpty(string x_str){
if (isEmpty2(x_str)){
return true;
}
string p_str = x_str;
p_str = tr(p_str," ","");
p_str = tr(p_str," ","");
p_str = tr(p_str,"\t","");
p_str = strip(p_str);
return isEmpty2(p_str);
}
/**
*判断字符串是否为空。
*Params: x_str=需要判断的字符串
*Returns: 是空返回true,否则返回false
*/
public static bool isEmpty2(string x_str){
string p_str = x_str;
p_str = chop(p_str); // 去掉结尾符(\0、CR、CR-LF)
if ( p_str==null ){
return true;
}
if ( p_str=="" ){
return true;
}
return false;
}
}
注:
有定义class时,
一定要为class写一段文档注释,
否则,
不能将该module中的注释导出为文档。
3、CandyDoc的使用
从官网下载CandyDoc。
http://www.dsource.org/projects/helix/wiki/CandyDoc
解压缩后,查看CANDYDOC.txt文件,
里面记述了使用方法。
我使用了很多的默认theme,
基本没有作什么修改。
我准备把文档生成到src\docs中,
所以,目前的目录结构变成了下面这样:
目录结构 写道
.\src\Main.d
.\src\sinpool\utils\splutils.d
.\src\docs
①
将解压缩后的candydoc目录复制到要生成文档的目录。
我放到了“.\src\docs”里。
②
修改candydoc\modules.ddoc文件,
将要生成文档的包和module写进去。
修改后的样子是:
写道
MODULES =
$(MODULE .Main)
$(MODULE sinpool.utils.splutils)
因为只生成两个module的文档,
所以,就把他们写上。
第一行的“.Main”,
是指在src目录中的Main.d文件。
目前的目录结构变成了:
目录结构 写道
.\src\Main.d
.\src\sinpool\utils\splutils.d
.\src\docs\candydoc
③
结合CandyDoc配置文件,
运行带“-D”参数的dmd命令,
以便生成具有CandyDoc风格的文档。
进入src目录,运行下面的命令:
写道
dmd Main.d sinpool\utils\splutils.d docs\candydoc\candy.ddoc docs\candydoc\modules.ddoc -D -Dddocs
注:
如果要生成很多源代码对应的文档,
估计要写一个脚本,
或者找找其他的辅助工具进行使用了。
4、效果
至此,
在src\docs下面会生成html的文档。
下面是生成的“sinpool\utils\splutils”的样子:
- 大小: 53.2 KB
分享到:
相关推荐
这篇博文将深入探讨如何使用`CandyDoc`为你的`D`源代码生成高质量的文档。 首先,`CandyDoc`是一款针对`D`语言设计的文档生成器,它使用类似于`Doxygen`的注释格式,但更加简洁且易于阅读。与`Doxygen`等其他工具...
软件著作权代码文档生成器v1.0.0源代码1 在软件开发领域中,著作权代码文档生成器是一个非常重要的工具。它可以自动地生成软件著作权代码文档,提高软件开发效率和质量。本文档生成器使用Java语言开发,基于Maven...
基于强化学习方法 DQN 生成基于机器学习的恶意流量检测模型源代码+文档说明,含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署...
该软件能帮助程序员将代码直接整理组织成申请软件著作权所需的源代码文档,本文件生成全部代码文档(备查),60页代码(前后各30页)提交申请用,文档格式为PDF版,需要付费注册,未注册的会在文档有“未注册”的...
JavaDoc生成API文档(powernode document)(内含源代码和导出的文档) 1.1 JavaDoc概述 1.2 文档注释的格式 1.3 IDEA生成API文档 vaDoc是Java自带的一种工具,其可以从程序源代码中抽取类、方法、属性等注释形成一...
该文档是直接从源代码中提取的,这使得使文档与源代码保持一致变得容易得多。 您可以配置 doxygen从未记录的源文件中提取代码结构。这对于在大型源代码发行版中快速找到您的方式非常有用。Doxygen还可以通过包括依赖...
Visual C++源代码 191 如何使用自动化生成Word图表Visual C++源代码 191 如何使用自动化生成Word图表Visual C++源代码 191 如何使用自动化生成Word图表Visual C++源代码 191 如何使用自动化生成Word图表Visual C++源...
基于python实现的边缘计算能耗最小化仿真+源代码+文档说明基于python实现的边缘计算能耗最小化仿真+源代码+文档说明基于python实现的边缘计算能耗最小化仿真+源代码+文档说明基于python实现的边缘计算能耗最小化仿真...
AVR系列源代码生成软件是一款专为电子工程师和嵌入式开发者设计的辅助工具,它主要针对Atmel公司的AVR微控制器(Microcontroller)系列,帮助用户快速生成和编辑源代码。这款软件简化了开发过程,提高了编程效率,...
基于机器学习的入侵检测系统+源代码+文档说明(高分项目).zip基于机器学习的入侵检测系统+源代码+文档说明(高分项目).zip基于机器学习的入侵检测系统+源代码+文档说明(高分项目).zip基于机器学习的入侵检测系统...
《C#源代码生成器与设计说明书解析》 在IT行业中,提高开发效率是至关重要的。为此,程序员们经常利用代码生成器来自动化创建常见的代码结构,如数据访问层(DAL)、模型层(Model)等。本文将详细介绍一款基于C#...
4. **生成文档**:自动生成源代码的README或CHANGES文档,概述项目结构、主要功能和更新历史。 5. **版本控制整合**:如果源代码在版本控制系统(如Git)中,工具可能能帮助提取特定版本的代码,便于提交至软著申请...
4. 函数和方法:预定义的代码块,可以接受参数并返回结果,如Response.Write用于向浏览器输出内容。 5. 数据库连接:ASP可以使用ADODB对象连接和操作数据库,获取数据并将其渲染到HTML中。 在实际应用中,这个...
C标准库源代码,能提高对C的理解,不错的哦 下载文件列表 Pack : clibsource.rar C 标准库源代码\ABORT.C C标准库源代码\ABS.C C标准库源代码\ACCESS.C C标准库源代码\ADJUSTFD.C C标准库源代码\ALGRITHM C标准库源...
1. Java语言基础:该源代码文件模板使用Java语言编写,涉及到Java基础知识点,例如变量、数据类型、运算符、控制结构、函数等。 2. 接口和抽象类:在源代码文件模板中,出现了多个接口和抽象类,例如`UpdateBoard`...
从给定的文件标题、描述、标签以及部分内容来看,本篇文章将深入探讨如何使用C#来实现PDF文档的生成,解析其中涉及的关键知识点,并提供源代码分析,帮助读者理解其工作原理。 ### 一、C#生成PDF文档概述 在日常的...
《C#实现俄罗斯方块的源代码解析及文档详述》 C#是一种广泛应用于游戏开发、桌面应用和Web服务的编程语言,以其简洁、高效和面向对象的特性深受开发者喜爱。在这个项目中,我们将深入探讨如何使用C#来实现经典游戏...
大麦抢票+辅助工具+源代码+供参考+自动抢票+详细文档教程+亲测可运行+基于python 大麦抢票+辅助工具+源代码+供参考+自动抢票+详细文档教程+亲测可运行+基于python 大麦抢票+辅助工具+源代码+供参考+自动抢票+详细...
UCGUI的源代码和分析文档对于深入理解和使用该库是至关重要的,特别是对于那些想要在GUI设计和开发领域提升技能的工程师来说。 UCGUI的核心特性包括: 1. **高效性能**:UCGUI设计时考虑了资源受限的嵌入式环境,...
这份资源包含源代码和报告文档,它们是学习和完成编译原理课程设计的重要组成部分。 源代码部分可能是用某种编程语言(如C、C++或Java)实现的一个小型编译器。编译器通常分为几个主要阶段:词法分析、语法分析、...