Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

JAVA系列讲座5(基础篇之JAVA注释文档)

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

  JAVA的注释文档

  在软件项目开发的整个进程中,我们经常面临的一个问题是不能兼顾程序的设计和文档化问题。很多公司的品质部门对软件项目的最终评审、鉴定和测试是依赖于软件开发文档的。并且,一套合理完备的文档对于系统维护和项目开发的继承性也具有很重要的意义。这些文档包括项目的概要设计文档、详细设计文档和代码注释等。据我所知,很多项目的详细设计文档要么是在代码编制阶段前预先书写的,要么是在代码设计工作完成后补写的。对于第一种情况,由于很多不可预测因素的影响,最初的详细设计文档可能跟最终的实现路线有很大的出入;而对于第二种情况,则更加难以控制,因为人员的流动和开发人员对文档工作的厌烦情绪可能严重的影响设计文档和代码注释的可信度。尤其是当您为第三方开发一套中间件的时候,很烦躁的问题就是如何说明这个中间件的使用和编程方法。

  Java语言很体贴的一项设计就是它真正的可以将程序设计和文档化工作同步进行。对于程序的文档化,最大的问题莫过于对文档的维护。若文档与代码分离,那么每次改变代码后都要改变文档,这无疑会变成相当麻烦的一件事情。解决的方法看起来似乎很简单:将代码同文档“链接”起来。为达到这个目的,最简单的方法是将所有内容都置于同一个文件。然而,为使一切都整齐划一,还必须使用一种特殊的注释语法,以便标记出特殊的文档;另外还需要一个工具,用于提取这些注释,并按有价值的形式将其展现出来。这些都是Java必须做到的。

  用于提取注释的工具叫作javadoc。它采用了部分来自Java编译器的技术,查找我们置入程序的特殊注释标记。它不仅提取由这些标记指示的信息,也将毗邻注释的类名或方法名提取出来。这样一来,我们就可用最轻的工作量,生成十分专业的程序文档。

  javadoc输出的是一个HTML文件,可用自己的Web浏览器查看。该工具允许我们创建和管理单个源文件,并自动生成有用的文档。由于有了jvadoc,所以我们能够用标准的方法创建文档。而且由于它非常方便,所以我们能轻松获得所有Java库的文档。

  语法

  所有javadoc命令都只能出现于“/**”注释中。但和平常一样,注释结束于一个“*/”。主要通过两种方式来使用javadoc:嵌入的HTML,或使用“文档标记”。其中,“文档标记”(Doc tags)是一些以“@”开头的命令,置于注释行的起始处(但前导的“*”会被忽略)。

  有三种类型的注释文档,它们对应于位于注释后面的元素:类、变量或者方法。也就是说,一个类注释正好位于一个类定义之前;变量注释正好位于变量定义之前;而一个方法定义正好位于一个方法定义的前面。如下面这个简单的例子所示:


/** 一个类注释 */
public class docTest {
/** 一个变量注释 */
public int i;
/** 一个方法注释 */
public void f() {}
}

  注意javadoc只能为public(公共)和protected(受保护)成员处理注释文档。“private”(私有)和“friendly”(详见5章)成员的注释会被忽略,我们看不到任何输出(也可以用-private标记包括private成员)。这样做是有道理的,因为只有public和protected成员才可在文件之外使用,这是客户程序员的希望。然而,所有类注释都会包含到输出结果里。

  上述代码的输出是一个HTML文件,它与其他Java文档具有相同的标准格式。因此,用户会非常熟悉这种格式,可在您设计的类中方便地“漫游”。设计程序时,请务必考虑输入上述代码,用javadoc处理一下,观看最终HTML文件的效果如何。

  嵌入HTML

  javadoc将HTML命令传递给最终生成的HTML文档。这便使我们能够充分利用HTML的巨大威力。当然,最终动机是格式化代码,不是为了装点门面。下面是一个嵌入HTML的例子:


/**
* 
* System.out.println(new Date());
* 
*/

  亦可象在其他Web文档里那样运用HTML,对普通文本进行格式化,使其更具条理、更加美观:


/**
* 您甚至可以插入一个列表:
* 
* 
项目一
* 
项目二
* 
项目三
* 
*/

  注意在文档注释中,位于一行最开头的星号会被javadoc丢弃。同时丢弃的还有前导空格。javadoc会对所有内容进行格式化,使其与标准的文档外观相符。不要将<h1>

  --------------------------------------------------------------------------------

  这样的标题当作嵌入HTML使用,因为javadoc会插入自己的标题,我们给出的标题会与之冲撞。

  所有类型的注释文档——类、变量和方法——都支持嵌入HTML。

  @see:引用其他类

  所有三种类型的注释文档都可包含@see标记,它允许我们引用其他类里的文档。对于这个标记,javadoc会生成相应的HTML,将其直接链接到其他文档。格式如下:

  @see 类名

  @see 完整类名

  @see 完整类名#方法名

  每一格式都会在生成的文档里自动加入一个超链接的“See Also”(参见)条目。注意javadoc不会检查我们指定的超链接,不会验证它们是否有效。

  类文档标记

  随同嵌入HTML和@see引用,类文档还可以包括用于版本信息以及作者姓名的标记。类文档亦可用于“接口”目的。

  1. @version

  格式如下:

  @version 版本信息

  其中,“版本信息”代表任何适合作为版本说明的资料。若在javadoc命令行使用了“-version”标记,就会从生成的HTML文档里提取出版本信息。

  2. @author

  格式如下:

  @author 作者信息

  其中,“作者信息”包括您的姓名、电子函件地址或者其他任何适宜的资料。若在javadoc命令行使用了“-author”标记,就会专门从生成的HTML文档里提取出作者信息。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:JAVA系列讲座4(基础篇之JDK1.3预定义包)   下一篇:java类库中的设计模式(1)

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号