分类:
2008-10-16 19:11:38
代码规范
--注释
@author LEI
@version 1.10 2005-09-01
1 注释文档的格式
注释文档将用来生成HTML格式的代码报告,所以注释文档必须书写在类、域、构造函数、方法、定义之前。注释文档由两部分组成——描述、块标记。
例如:
/**
* The doGet method of the servlet.
* This method is called when a form has its tag value method equals to get.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
前两行为描述,描述完毕后,由@符号起头为块标记注视。
2 注释的种类
2.1 文件头注释
文件头注释以 /*开始,以*/结束,需要注明该文件创建时间,文件名,命名空间信息。
例如:
/*
* Created on 2005-7-2
* /
2.2 类、接口注释
类、接口的注释采用 /** … */,描述部分用来书写该类的作用或者相关信息,块标记部分必须注明作者和版本。
例如:
/**Title: XXXX DRIVER 3.0
*Description: XXXX DRIVER 3.0
*Copyright: Copyright (c) 2003
*Company:XXXX有限公司
*
* @author Development Group
* @version 3.0
*/
例如:
/**
* A class representing a window on the screen.
* For example:
*
* Window win = new Window(parent);
* win.show();
*
*
* @author Sami Shaio
* @version %I%, %G%
* @see java.awt.BaseWindow
* @see java.awt.Button
*/
class Window extends BaseWindow {
...
}
2.3 构造函数注释
构造函数注释采用 /** … */,描述部分注明构造函数的作用,不一定有块标记部分。
例如:
/**
* 默认构造函数
*/
有例如:
/**
* 带参数构造函数,初始化模式名,名称和数据源类型
*
* @param schema
* Ref 模式名
* @param name
* Ref 名称
* @param type
* byVal 数据源类型
*/
2.4 域注释
域注释可以出现在注释文档里面,也可以不出现在注释文档里面。用/** … */的域注释将会被认为是注释文档热出现在最终生成的HTML报告里面,而使用/* … */的注释会被忽略。
例如:
/* 由于triger和表用一个DMSource,所以要区分和表的迁移成功标记 */
boolean isTrigerSuccess = false;
又例如:
/** 由于triger和表用一个DMSource,所以要区分和表的迁移成功标记 */
boolean isTrigerSuccess = false;
再例如:
/**
* The X-coordinate of the component.
*
* @see #getLocation()
*/
int x = 1263732;
2.5 方法注释
方法注释采用 /** … */,描述部分注明方法的功能,块标记部分注明方法的参数,返回值,异常等信息。例如:
/**
* 设置是否有外码约束
*
* @param conn
* Connection 与数据库的连接
*/
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)
[1]