伙伴云客服论坛»论坛 S区 S软件开发 查看内容

0 评论

0 收藏

分享

Java经历点滴:类注释文档编写方法

文章来源:csdn 作者:chensheng913</p>对于Java语言,最体贴的一项设计就是它并没有打算让人们为了写程序而写程序——人们也需要考虑程序的文档化问题。对于程序的文档化,最大的问题莫过于对文档的维护。若文档与代码分别,那么每次改变代码后都要改变文档,这无疑会变成相当费事的一件事情。

            处置的方法看起来似乎很简单:将代码同文档“链接”起来。为到达这个目的,最简单的方法是将所有内容都置于同一个文件。然而,为使一切都整齐划一,还必需使用一种特殊的注释语法,以便标志出特殊的文档;另外还需要一个工具,用于提取这些注释,并按有价值的形式将其展示出来。这些都是Java必需做到的。         
  用于提取注释的工具叫作javadoc。它采用了部分来自Java编译器的技术,查找我们置入程序的特殊注释标志。它不只提取由这些标志指示的信息,也将毗连注释的类名或方法名提取出来。这样一来,我们就可用最轻的工作量,生成非常专业的程序文档。           
          javadoc输出的是一个HTML文件,可用自己的Web阅读器查看。该工具允许我们创建和管理单个源文件,并生动生成有用的文档。由于有了jvadoc,所以我们可以用规范的方法创建文档。而且由于它非常方便,所以我们能轻松获得所有Java库的文档。         
  2 详细语法

            所有javadoc命令都只能呈现于“/**”注释中。但和平常一样,注释完毕于一个“*/”。主要通过两种方式来使用javadoc:嵌入的HTML,或使用“文档标志”。其中,“文档标志”(Doc           tags)是一些以“@”开头的命令,置于注释行的起始处(但前导的“*”会被忽略)。
          有三品种型的注释文档,它们对应于位于注释后面的元素:类、变量或者方法。也就是说,一个类注释正好位于一个类定义之前;变量注释正好位于变量定义之前;而一个方法定义正好位于一个方法定义的前面。如下面这个简单的例子所示:         


/** 一个类注释 */
                public class docTest {
                /** 一个变量注释 */
                public int i;
                /** 一个方法注释 */
                public void f() {}
                }
注意javadoc只能为public(公共)和protected(受维护)成员处置注释文档。“private”(私有)和“友好”(详见5章)成员的注释会被忽略,我们看不到任何输出(也可以用-private标志包括private成员)。这样做是有道理的,因为只要public和protected成员才可在文件之外使用,这是客户程序员的希望。然而,所有类注释都会包含到输出结果里。           
          上述代码的输出是一个HTML文件,它与其他Java文档具有相同的规范格式。因而,用户会非常熟悉这种格式,可在您设计的类中方便地“漫游”。设计程序时,请务必考虑输入上述代码,用javadoc处置一下,观看最终HTML文件的效果如何。         
  3 嵌入HTML
            javadoc将HTML命令传送给最终生成的HTML文档。这便使我们可以充沛利用HTML的宏大威力。当然,我们的最终动机是格式化代码,不是为了哗众取宠。下面列出一个例子:         

/**
                  *
                  * System.out.println(new Date());
                  *
*/
亦可象在其他Web文档里那样运用HTML,对普通文本停止格式化,使其更具条理、更加美观:
                  /**
                  * 您甚至可以插入一个列表:
                  *
*
                  项目一
                  *
                  项目二
                  *
                  项目三
                  *
*/
注意在文档注释中,位于一行最开头的星号会被javadoc丢弃。同时丢弃的还有前导空格。javadoc会对所有内容停止格式化,使其与规范的文档外观相符。不要将           
          或
  这样的标题当作嵌入HTML使用,因为javadoc会插入自己的标题,我们给出的标题会与之冲撞。
          所有类型的注释文档——类、变量和方法——都支持嵌入HTML。
  4 @see:引用其他类
            所有三品种型的注释文档都可包含@see标志,它允许我们引用其他类里的文档。对于这个标志,javadoc会生成相应的HTML,将其直接链接到其他文档。格式如下:         
  @see 类名
            @see 完好类名
            @see 完好类名
            每一格式都会在生成的文档里自动参与一个超链接的“See Also”(参见)条目。注意javadoc不会检查我们指定的超链接,不会验证它们是否有效。         
  5 类文档标志
            随同嵌入HTML和@see引用,类文档还可以包括用于版本信息以及作者姓名的标志。类文档亦可用于“接口”目的(本书后面会详细解释)。         
  1. @version
            格式如下:
            @version 版本信息
            其中,“版本信息”代表任何适宜作为版本说明的资料。若在javadoc命令行使用了“-version”标志,就会从生成的HTML文档里提取出版本信息。         
2. @author
            格式如下:
            @author 作者信息
            其中,“作者信息”包括您的姓名、电子函件地址或者其他任何适宜的资料。若在javadoc命令行使用了“-author”标志,就会专门从生成的HTML文档里提取出作者信息。           
          可为一系列作者使用多个这样的标志,但它们必需连续放置。全部作者信息会一起存入最终HTML代码的单独一个段落里。
  6 变量文档标志
            变量文档只能包括嵌入的HTML以及@see引用。
  7 方法文档标志
            除嵌入HTML和@see引用之外,方法还允许使用针对参数、返回值以及违例的文档标志。
  1. @param
            格式如下:
            @param 参数名 说明
            其中,“参数名”是指参数列表内的标识符,而“说明”代表一些可延续到后续行内的说明文字。一旦遇到一个新文档标志,就认为前一个说明完毕。可使用任意数量的说明,每个参数一个。         
  2. @return
            格式如下:
            @return 说明
            其中,“说明”是指返回值的含义。它可延续到后面的行内。
  3. @exception
            有关“违例”(Exception)的详细情况,我们会在第9章讲述。简言之,它们是一些特殊的对象,若某个方法失败,就可将它们“扔出”对象。调用一个方法时,虽然只要一个违例对象呈现,但一些特殊的方法也许能产生任意数量的、不同类型的违例。所有这些违例都需要说明。所以,违例标志的格式如下:           
            @exception 完好类名 说明
            其中,“完好类名”明确指定了一个违例类的名字,它是在其他某个地方定义好的。而“说明”(同样可以延续到下面的行)告诉我们为什么这种特殊类型的违例会在方法调用中呈现。         
  4. @deprecated
            这是Java 1.1的新特性。该标志用于指出一些旧功能已由改进过的新功能取代。该标志的作用是建议用户不用再使用一种特定的功能,因为将来改版时可能摒弃这一功能。若将一个方法标志为@deprecated,则使用该方法时会收到编译器的警告。

回复

举报 使用道具

全部回复
暂无回帖,快来参与回复吧
本版积分规则 高级模式
B Color Image Link Quote Code Smilies

萌晓
注册会员
主题 18
回复 22
粉丝 0
|网站地图
快速回复 返回顶部 返回列表