javadoc注释规范

来源:互联网 发布:无主之地mac下载 编辑:程序博客网 时间:2024/06/06 00:43

知行斋

Avatar

天长地久有时尽,此砖绵绵无绝期。

javadoc注释规范

相关:http://kelaocai.iteye.com/blog/227822

http://www.blogjava.net/soddabao/archive/2007/04/09/109434.html

http://chenzhou123520.iteye.com/blog/1625629

并参考了部分Thinking in Java中内容


一. 文档注释的格式

1. 文档和文档注释的格式化
生成的文档是 HTML 格式,而这些 HTML 格式的标识符并不是 javadoc 加的,而是我们在写注释的时候写上去的。比如,需要换行时,不是敲入一个回车符,而是写入 <br>,如果要分段,就应该在段前写入 <p>。文档注释的正文并不是直接复制到输出文件 (文档的 HTML 文件),而是读取每一行后,删掉前导的 * 号及 * 号以前的空格,再输入到文档的。如 :
/**
* This is first line. <br>
***** This is second line. <br>
This is third line.
*/

2. 文档注释的三部分
先举例如下
/**
* show 方法的简述.
* <p>show 方法的详细说明第一行<br>
* show 方法的详细说明第二行
* @param b true 表示显示,false 表示隐藏
* @return 没有返回值
*/
public void show(boolean b) {
frame.show(b);
}
第一部分是简述。文档中,对于属性和方法都是先有一个列表,然后才在后面一个一个的详细的说明简述部分写在一段文档注释的最前面,第一个点号 (.) 之前 (包括点号)。换句话说,就是用第一个点号分隔文档注释,之前是简述,之后是第二部分和第三部分。

第二部分是详细说明部分。该部分对属性或者方法进行详细的说明,在格式上没有什么特殊的要求,可以包含若干个点号。
* show 方法的简述.
* <p>show 方法的详细说明第一行<br>
* show 方法的详细说明第二行
第三部分是特殊说明部分。这部分包括版本说明、参数说明、返回值说明等。
* @param b true 表示显示,false 表示隐藏
* @return 没有返回值

二. 使用 javadoc 标记
javadoc 标记由“@”及其后所跟的标记类型和专用注释引用组成
javadoc 标记有如下一些:
@author 标明开发该类模块的作者
@version 标明该类模块的版本
@see 参考转向,也就是相关主题
@param 对方法中某参数的说明
@return 对方法返回值的说明
@exception 对方法可能抛出的异常进行说明

其中,@author 可以多次使用,以指明多个作者,生成的文档中每个作者之间使用逗号 (,) 隔开。@version 也可以使用多次,只有第一次有效

使用 @param、@return 和 @exception 说明方法
这三个标记都是只用于方法的。@param 描述方法的参数,@return 描述方法的返回值,@exception 描述方法可能抛出的异常。它们的句法如下:
@param 参数名 参数说明
@return 返回值说明
@exception 异常类名 说明


三. javadoc 命令
用法:
  javadoc [options] [packagenames] [sourcefiles]

选项:
-public 仅显示 public 类和成员
-protected 显示 protected/public 类和成员 (缺省)
-package 显示 package/protected/public 类和成员
-private 显示所有类和成员
-d <directory> 输出文件的目标目录
-version 包含 @version 段
-author 包含 @author 段
-splitindex 将索引分为每个字母对应一个文件
-windowtitle <text> 文档的浏览器窗口标题

 

四.类、变量、方法文档标记

1.类文档标记

1.1.@version

格式如下:@version 版本信息

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

1.2.@author

格式如下:@author 作者信息

其中,作者信息包括姓名电子邮件地址或者其他任何适宜的资料。

2.变量文档标记

变量文档只能包含嵌入的HTML以及@see引用。

3.方法文档标记

除嵌入的HTML以及@see引用,还允许使用针对参数、返回值以及违例的文档标记。

3.1. @param

格式如下:@param 参数名,说明

其中参数名是指参数列表内的标识符,而说明代表一些说明文字。一旦遇到一个新文档标记,就认为前一个说明结束。可使用任意数量的说明。

3.2. @return

格式如下:@return 说明

其中说明指返回值的含义,可以延续到后面的行内。

3.3. @exception

格式如下:@exception 完整类名 说明

 

“完整类名”明确指定了一个违例类的名字,它是在其他某个地方定义好的。而“说明”(同样可以延续到下面的行)告诉我们为什么这种特殊类型的违例会在方法调用中出现。

 

五.文档示例

import java.util.*;                  /** The first Thinking in Java example program.                  * Lists system information on current machine.                  * @author Bruce Eckel                  * @author http://www.BruceEckel.com ;                 * @version 1.0                  */                public class Property {                   /** Sole entry point to class & application                    * @param args array of string arguments                    * @return No return value                    * @exception exceptions No exceptions thrown                   */                    public static void main(String[] args) {                         System.out.println(new Date());                         Properties p = System.getProperties();                         p.list(System.out);                         System.out.println("--- Memory Usage:");                         Runtime rt = Runtime.getRuntime();                         System.out.println("Total Memory = " + rt.totalMemory() + " Free Memory = " + rt.freeMemory());                     }                }

 

六:使用Eclipse生成文档

主要有三种方法:
1,在项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc,提交到下一步。在Javadoc Generation对话框中有两个地方要注意的:javadoc command:应该选择jdk的bin/javadoc.exe,destination:为生成文档的保存路径,可自由选择。按finish(完成)提交即可开始生成文档。
2,用菜单选择:File->Export(文件->导出),剩下的步骤和第一种方法是一样的。
3,选中要生成文档的项目,然后用菜单选择,Project->Generate Javadoc直接进入Javadoc Generation对话框,剩余的步骤就和第一种方法在Javadoc Generation对话框开始是一样的。

 

七: Eclipse Code Templates设置,用以统一化编码方法与注释

设置Code Templates的目的主要是为了统一各种注释的格式以及代码的模板,只要设定好Code Templates之后利用Eclipse就可以方便地生成我们自定义的注释,开发人员也容易接受。

打开Window->Preferences->Java->Code Style->Code Templates可以进行设置。

Comments代表注释模板,Code代表代码模板,其中每一个子菜单代表子项的模板。

我们只要点击某一个子项,就会在界面下方的Pattern区域看到该项我们所定义的模板内容和格式,如下图所示:


 

当我们点击Comments下的Files子菜单时,下面的Pattern会显示Java文件的头部注释。

这里我只是简单设置了Files,Types,以及Methods

1. Comments-->Files(Java文件注释)

/**             * Project Name:${project_name}             * File Name:${file_name}             * Package Name:${package_name}             * Date:${date}${time}             * Copyright (c) ${year}, caoyaqiang0410@gmail.com All Rights Reserved.             *             */

2. Comments-->Types(Java类注释)

/**            * ClassName:${type_name} <br/>            * date: ${date}${time} <br/>            * @author ${user}            * @author caoyaqiang0410@gmail.com            * @version ${enclosing_type}${tags}            * ${tags}            */

3.Comments-->Fields(类字段注释)

/**           * ${field}:${todo}           */

4.Comments-->Constructors(构造函数注释)

/**          * ${enclosing_method}:<br/>          * ${tags}          */

注意,要正常使用设置的模板,在新建class的时候要确保其最后一项create comment勾选,并在here的超链接哪儿在勾选一个东西,如下图: