JAVA:注释规范

来源:互联网 发布:网络造谣大v 编辑:程序博客网 时间:2024/06/13 22:08

Java代码规范

--注释

 

 

@author LEI

@version 1.10 2005-09-01

1 注释文档的格式

注释文档将用来生成HTML格式的代码报告,所以注释文档必须书写在类、域、构造函数、方法、定义之前。注释文档由两部分组成——描述、块标记。

例如:

 

public void doGet (HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

 

doPost(request, response);

}

前两行为描述,描述完毕后,由@符号起头为块标记注视。

注释的种类

2.1 文件头注释

文件头注释以 结束,需要注明该文件创建时间,文件名,命名空间信息。

例如:

,描述部分用来书写该类的作用或者相关信息,块标记部分必须注明作者和版本。

例如:

 

例如:

 

class Window extends BaseWindow {

...

}

2.3 构造函数注释

构造函数注释采用 ,描述部分注明构造函数的作用,不一定有块标记部分。

例如:

 

有例如:

2.4 域注释

域注释可以出现在注释文档里面,也可以不出现在注释文档里面。用的域注释将会被认为是注释文档热出现在最终生成的HTML报告里面,而使用的注释会被忽略。

例如:

 

boolean isTrigerSuccess = false;

又例如:

 

boolean isTrigerSuccess = false;

再例如:

 

int x = 1263732;

 

2.5 方法注释

方法注释采用 ,描述部分注明方法的功能,块标记部分注明方法的参数,返回值,异常等信息。例如:

 

2.6 定义注释

规则同域注释。

3 注释块标记

3.1 标记的顺序

块标记将采用如下顺序:

*

* @param (classes, interfaces, methods and constructors only)

* @return (methods only)

* @exception (@throws is a synonym added in Javadoc 1.2)

* @author (classes and interfaces only, required)

* @version (classes and interfaces only, required. See footnote 1)

* @see

* @since

* @serial (or @serialField or @serialData)

* @deprecated (see How and When To Deprecate APIs)

* …

一个块标记可以根据需要重复出现多次,多次出现的标记按照如下顺序:

@author 按照时间先后顺序(chronological

@param 按照参数定义顺序(declaration

@throws 按照异常名字的字母顺序(alphabetically

@see 按照如下顺序:

@see #field

@see #Constructor(Type, Type...)

@see #Constructor(Type id, Type id...)

@see #method(Type, Type,...)

@see #method(Type id, Type, id...)

@see Class

@see Class#field

@see Class#Constructor(Type, Type...)

@see Class#Constructor(Type id, Type id)

@see Class#method(Type, Type,...)

@see Class#method(Type id, Type id,...)

@see package.Class

@see package.Class#field

@see package.Class#Constructor(Type, Type...)

@see package.Class#Constructor(Type id, Type id)

@see package.Class#method(Type, Type,...)

@see package.Class#method(Type id, Type, id)

@see package

3.2 标记介绍

3.2.1 @param标记

@param后面空格后跟着参数的变量名字(不是类型),空格后跟着对该参数的描述。

在描述中第一个名字为该变量的数据类型,表示数据类型的名次前面可以有一个冠词如:a,an,the。如果是int类型的参数则不需要注明数据类型。例如:

* @param ch the char 用用来……

* @param _image the image 用来……

* @param _num 一个数字……

对于参数的描述如果只是一短语,最好不要首字母大写,结尾也不要句号。

对于参数的描述是一个句子,最好不要首字母大写,如果出现了句号这说明你的描述不止一句话。如果非要首字母大写的话,必须用句号来结束句子。(英文的句号)

公司内部添加ByRefByVal两个标记,例如:

* @param _image the image ByRef 用来……

说明该参数是引用传递(指针),ByVal可以省略,表示是值传递。

3.2.2 @return标记

返回为空(void)的构造函数或者函数,@return可以省略。

如果返回值就是输入参数,必须用与输入参数的@param相同的描述信息。

必要的时候注明特殊条件写的返回值。

3.2.3 @throws 标记

@throws以前使用的是@exception

@throws的内容必须在函数的throws部分定义。

3.2.4 @author标记

类注释标记。

函数注释里面可以不出现@author

3.2.5 @version

类注释标记。

函数注释里面可以不出现@version

3.2.6 @since

类注释标记。

标明该类可以运行的JDK版本

例如:

@since JDK1.2

3.2.7 @deprecated

由于某种原因而被宣布将要被废弃的方法。

 

3.2.8 @link标记

语法:{@link package.class#member label}

Label为链接文字。

package.class#member将被自动转换成指向package.classmember文件的URL

4 HTML代码的使用

在注释描述部分可以使用HTML代码。

 

表示段落

 

 

  • ….
表示自动标号

 

5 注释示例

 

public abstract class Graphics {

 

 

public abstract boolean drawImage(Image img, int x, int y,

ImageObserver observer);

 

 

 

public abstract void dispose();

 

 

public void finalize() {

dispose();

}

}