设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素啦。现就每一个元素逐一介绍:
文件(Files)注释标签:/**
* @Title: ${file_name}
* @Package ${package_name}
* @Description: ${todo}(用一句话描述该文件做什么)
* @author A18ccms A18ccms_gmail_com
* @date ${date} ${time}
* @version V1.0
*/类型(Types)注释标签(类的注释):
/**
* @ClassName: ${type_name}
* @Description: ${todo}(这里用一句话描述这个类的作用)
* @author A18ccms a18ccms_gmail_com
* @date ${date} ${time}
*
* ${tags}
*/字段(Fields)注释标签:
/**
* @Fields ${field} : ${todo}(用一句话描述这个变量表示什么)
*/
构造函数标签:/**
* <p>Title: </p>
* <p>Description: </p>
* ${tags}
*/方法(Constructor & Methods)标签:
/**
* @Title: ${enclosing_method}
* @Description: ${todo}(这里用一句话描述这个方法的作用)
* @param ${tags} 设定文件
* @return ${return_type} 返回类型
* @throws
*/覆盖方法(Overriding Methods)标签:
/* (非 Javadoc)
* <p>Title: ${enclosing_method}</p>
* <p>Description: </p>
* ${tags}
* ${see_to_overridden}
*/代表方法(Delegate Methods)标签:
/**
* ${tags}
* ${see_to_target}
*/
getter方法标签:/**
* @return ${bare_field_name}
*/setter方法标签:
/**
* @param ${param} 要设置的 ${bare_field_name}
*/
例子:
<?xml version="1.0" encoding="UTF-8"?>
<templates>
<template
autoinsert="false"
context="constructorcomment_context"
deleted="false"
description="Comment for created constructors"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.constructorcomment"
name="constructorcomment">
/**
* 创建一个新的实例 ${enclosing_type}.
*
* ${tags}
*/
</template>
<template
autoinsert="true"
context="settercomment_context"
deleted="false"
description="Comment for setter method"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.settercomment"
name="settercomment">
/**
* @param ${param} the ${bare_field_name} to set
*/
</template>
<template
autoinsert="false"
context="methodcomment_context"
deleted="false"
description="Comment for non-overriding methods"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.methodcomment"
name="methodcomment">
/**
* 此方法描述的是:
* @author: wangxiongdx@163.com
* @version: ${date} ${time}
*/
</template>
<template
autoinsert="true"
context="delegatecomment_context"
deleted="false"
description="Comment for delegate methods"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.delegatecomment"
name="delegatecomment">
/**
* ${tags}
* ${see_to_target}
*/
</template>
<template
autoinsert="false"
context="filecomment_context"
deleted="false"
description="Comment for created Java files"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.filecomment"
name="filecomment">
/**
* 文件名:${file_name}
*
* 版本信息:
* 日期:${date}
* Copyright 足下 Corporation ${year}
* 版权所有
*
*/
</template>
<template
autoinsert="false"
context="gettercomment_context"
deleted="false"
description="Comment for getter method"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.gettercomment"
name="gettercomment">
/**
* ${bare_field_name}
*
* @return the ${bare_field_name}
* @since CodingExample Ver(编码范例查看) 1.0
*/
</template>
<template
autoinsert="true"
context="overridecomment_context"
deleted="false"
description="Comment for overriding methods"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.overridecomment"
name="overridecomment">
/* (non-Javadoc)
* ${see_to_overridden}
*/
</template>
<template
autoinsert="false"
context="fieldcomment_context"
deleted="false"
description="Comment for fields"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.fieldcomment"
name="fieldcomment">
/**
* ${field}:${todo}(用一句话描述这个变量表示什么)
*
* @since Ver 1.1
*/
</template>
<template
autoinsert="false"
context="typecomment_context"
deleted="false"
description="Comment for created types"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.typecomment"
name="typecomment">
/**
* 此类描述的是:
* @author: wangxiongdx@163.com
* @version: ${date} ${time}
*/
</template>
</templates>
<?xml version="1.0" encoding="UTF-8"?>
<templates>
<template
autoinsert="false"
context="constructorcomment_context"
deleted="false"
description="Comment for created constructors"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.constructorcomment"
name="constructorcomment">
/**
* 创建一个新的实例 ${enclosing_type}.
*
* ${tags}
*/
</template>
<template
autoinsert="true"
context="settercomment_context"
deleted="false"
description="Comment for setter method"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.settercomment"
name="settercomment">
/**
* @param ${param} the ${bare_field_name} to set
*/
</template>
<template
autoinsert="false"
context="methodcomment_context"
deleted="false"
description="Comment for non-overriding methods"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.methodcomment"
name="methodcomment">
/**
* 此方法描述的是:
* @author: wangxiongdx@163.com
* @version: ${date} ${time}
*/
</template>
<template
autoinsert="true"
context="delegatecomment_context"
deleted="false"
description="Comment for delegate methods"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.delegatecomment"
name="delegatecomment">
/**
* ${tags}
* ${see_to_target}
*/
</template>
<template
autoinsert="false"
context="filecomment_context"
deleted="false"
description="Comment for created Java files"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.filecomment"
name="filecomment">
/**
* 文件名:${file_name}
*
* 版本信息:
* 日期:${date}
* Copyright 足下 Corporation ${year}
* 版权所有
*
*/
</template>
<template
autoinsert="false"
context="gettercomment_context"
deleted="false"
description="Comment for getter method"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.gettercomment"
name="gettercomment">
/**
* ${bare_field_name}
*
* @return the ${bare_field_name}
* @since CodingExample Ver(编码范例查看) 1.0
*/
</template> <template
autoinsert="true"
context="overridecomment_context"
deleted="false"
description="Comment for overriding methods"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.overridecomment"
name="overridecomment">
/* (non-Javadoc)
* ${see_to_overridden}
*/
</template>
<template
autoinsert="false"
context="fieldcomment_context"
deleted="false"
description="Comment for fields"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.fieldcomment"
name="fieldcomment">
/**
* ${field}:${todo}(用一句话描述这个变量表示什么)
*
* @since Ver 1.1
*/
</template>
<template
autoinsert="false"
context="typecomment_context"
deleted="false"
description="Comment for created types"
enabled="true"
id="org.eclipse.jdt.ui.text.codetemplates.typecomment"
name="typecomment">
/**
* 此类描述的是:
* @author: wangxiongdx@163.com
* @version: ${date} ${time}
*/
</template>
</templates>MyEclipse 6.5 代码提示的设置
MyEclipse 选择 Windows ->Preperences ->General ->keys
找到 word completion的快捷键 把原alt+/删掉!//必须
把Content Assist 的快捷键 改成alt+/ 或者你想改的其他快捷键
MyEclipse编码设置
Myeclipse安装后编码默认是GB18030,一般推荐用UTF-8。如果在导入项目后发现乱码现象,那是编码设置设置不对。
全局编码设置的方法:ToolBar-->Window-->Preferences-->General-->Workspace-->Text file encoding,设置合适的编码。
局部编码设置:在源码按右键-->General-->Editors-->Test Editors-->Spelling-->Encoding,这里是设置单个文件的编码。
推荐还是使用全局编码设置。
MyEclipse设置JSP页面默认编码方式:
windows(窗口)-Preferences(首选项)-MyEclipse-Files & Editors-JSP-右侧encoding:设置为ISO10646/Unicode(UTF-8)
MyEclipse在Java文件中设置作者、日期等说明:
windows(窗口)-Preferences(首选项)-Java-Code Style(代码样式)-Code Templates(代码模版)-右侧Comments(注释)-选择Types(类型)-点击edit(编辑)-输入如下信息
/**
* @包名 ${package_name}
* @文件名 ${file_name}
* @作者 NoureWang
* @创建日期 ${date}
* @版本 V 1.0
*/点击OK(确定)-选中左侧的代码样式-选择右侧复选框(Automatically add Comments for new Methods and types)(自动为新方法和类型添加注释)-点击Apply(应用)-点击OK(确定)
eclipse里面有一个spell check的开关,把它关了。具体操作windows->preference->输入spell
自动提示:具体操作windows->preference->输入content assist 选择Java->editor->content assist
Auto activation triggers for Java:后面输入.abcdefghijklmnopqrstuvwxyz 确定
然后导出
1、源文件注释
源文件注释采用 /** …… */,在每个源文件的头部要有必要的注释信息,包括:文件名;文件编号;版本号;作者;创建时间;文件描述包括本文件历史修改记录等。中文注释模版:
Java代码
/**
* 文 件 名 :
* CopyRright (c) 2008-xxxx:
* 文件编号:
* 创 建 人:
* 日 期:
* 修 改 人:
* 日 期:
* 描 述:
* 版 本 号:
*/ /**
* 文 件 名 :
* CopyRright (c) 2008-xxxx:
* 文件编号:
* 创 建 人:
* 日 期:
* 修 改 人:
* 日 期:
* 描 述:
* 版 本 号:
*/ 2、类(模块)注释:
类(模块)注释采用 /** …… */,在每个类(模块)的头部要有必要的注释信息,包括:工程名;类(模块)编号;命名空间;类可以运行的JDK版本;版本号;作者;创建时间;类(模块)功能描述(如功能、主要算法、内部各部分之间的关系、该类与其类的关系等,必要时还要有一些如特别的软硬件要求等说明);主要函数或过程清单及本类(模块)历史修改记录等。
英文注释模版:
Java代码
/**
* CopyRright (c)2008-xxxx: <展望软件Forsoft >
* Project: <项目工程名 >
* Module ID: <(模块)类编号,可以引用系统设计中的类编号>
* Comments: <对此类的描述,可以引用系统设计中的描述>
* JDK version used: <JDK1.6>
* Namespace: <命名空间>
* Author: <作者中文名或拼音缩写>
* Create Date: <创建日期,格式:YYYY-MM-DD>
* Modified By: <修改人中文名或拼音缩写>
* Modified Date: <修改日期,格式:YYYY-MM-DD>
* Why & What is modified <修改原因描述>
* Version: <版本号>
*/ /**
* CopyRright (c)2008-xxxx: <展望软件Forsoft >
* Project: <项目工程名 >
* Module ID: <(模块)类编号,可以引用系统设计中的类编号>
* Comments: <对此类的描述,可以引用系统设计中的描述>
* JDK version used: <JDK1.6>
* Namespace: <命名空间>
* Author: <作者中文名或拼音缩写>
* Create Date: <创建日期,格式:YYYY-MM-DD>
* Modified By: <修改人中文名或拼音缩写>
* Modified Date: <修改日期,格式:YYYY-MM-DD>
* Why & What is modified <修改原因描述>
* Version: <版本号>
*/ 如果模块只进行部分少量代码的修改时,则每次修改须添加以下注释:
Java代码
//Rewriter
//Rewrite Date:<修改日期:格式YYYY-MM-DD> Start1:
/* 原代码内容*/
//End1:
将原代码内容注释掉,然后添加新代码使用以下注释:
//Added by
//Add date:<添加日期,格式:YYYY-MM-DD> Start2:
//End2:
如果模块输入输出参数或功能结构有较大修改,则每次修改必须添加以下
注释:
//Log ID:<Log编号,从1开始一次增加>
//Depiction:<对此修改的描述>
//Writer:修改者中文名
//Rewrite Date:<模块修改日期,格式:YYYY-MM-DD> //Rewriter
//Rewrite Date:<修改日期:格式YYYY-MM-DD> Start1:
/* 原代码内容*/
//End1:
将原代码内容注释掉,然后添加新代码使用以下注释:
//Added by
//Add date:<添加日期,格式:YYYY-MM-DD> Start2:
//End2:
如果模块输入输出参数或功能结构有较大修改,则每次修改必须添加以下
注释:
//Log ID:<Log编号,从1开始一次增加>
//Depiction:<对此修改的描述>
//Writer:修改者中文名
//Rewrite Date:<模块修改日期,格式:YYYY-MM-DD> 3、接口注释:
接口注释采用 /** …… */,在满足类注释的基础之上,接口注释应该包含描述接口的目的、它应如何被使用以及如何不被使用,块标记部分必须注明作者和版本。在接口注释清楚的前提下对应的实现类可以不加注释。
4、构造函数注释:
构造函数注释采用 /** …… */,描述部分注明构造函数的作用,不一定有块标记部分。
注释模版一:
Java代码
/**
* 默认构造函数
*/
注释模版二:
/**
* Description : 带参数构造函数,
* 初始化模式名,名称和数据源类型
* @param schema: 模式名
* @param name: 名称
* @param type: 数据源类型
*/ /**
* 默认构造函数
*/
注释模版二:
/**
* Description : 带参数构造函数,
* 初始化模式名,名称和数据源类型
* @param schema: 模式名
* @param name: 名称
* @param type: 数据源类型
*/ 5、函数注释:
函数注释采用 /** ……*/,在每个函数或者过程的前面要有必要的注释信息,包括:函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等。函数注释里面可以不出现版本号(@version)。
注释模版一:
Java代码
/**
* 函 数 名 :
* 功能描述:
* 输入参数: <按照参数定义顺序>
* <@param后面空格后跟着参数的变量名字
* (不是类型),空格后跟着对该参数的描述。>
*
* 返 回 值: - 类型 <说明>
* <返回为空(void)的构造函数或者函数,
* @return可以省略; 如果返回值就是输入参数,必须 * 用与输入参数的@param相同的描述信息; 必要的时* 候注明特殊条件写的返回值。>
* 异 常:<按照异常名字的字母顺序>
* 创 建 人:
* 日 期:
* 修 改 人:
* 日 期:
*/ /**
* 函 数 名 :
* 功能描述:
* 输入参数: <按照参数定义顺序>
* <@param后面空格后跟着参数的变量名字
* (不是类型),空格后跟着对该参数的描述。>
*
* 返 回 值: - 类型 <说明>
* <返回为空(void)的构造函数或者函数,
* @return可以省略; 如果返回值就是输入参数,必须 * 用与输入参数的@param相同的描述信息; 必要的时* 候注明特殊条件写的返回值。>
* 异 常:<按照异常名字的字母顺序>
* 创 建 人:
* 日 期:
* 修 改 人:
* 日 期:
*/ 注释模版二:
Java代码
/**
* FunName: getFirstSpell
* Description : 获取汉字拼音首字母的字符串,
* 被生成百家姓函数调用
* @param: str the String是包含汉字的字符串
* @return String:汉字返回拼音首字母字符串;
* 英文字母返回对应的大写字母;
* 其他非简体汉字返回 '0';
* @Author: ghc
* @Create Date: 2008-07-02
*/ /**
* FunName: getFirstSpell
* Description : 获取汉字拼音首字母的字符串,
* 被生成百家姓函数调用
* @param: str the String是包含汉字的字符串
* @return String:汉字返回拼音首字母字符串;
* 英文字母返回对应的大写字母;
* 其他非简体汉字返回 '0';
* @Author: ghc
* @Create Date: 2008-07-02
*/
6、方法注释:
方法注释采用 /** …… */,对于设置 (Set 方法 ) 与获取 (Get 方法 ) 成员的方法,在成员变量已有说明的情况下,可以不加注释;普通成员方法要求说明完成什么功能,参数含义是什么且返回值什么;另外方法的创建时间必须注释清楚,为将来的维护和阅读提供宝贵线索。
7、方法内部注释:
控制结构,代码做了些什么以及为什么这样做,处理顺序等,特别是复杂的逻辑处理部分,要尽可能的给出详细的注释。
8、 全局变量注释:
要有较详细的注释,包括对其功能、取值范围、哪些函数或者过程存取以及存取时注意事项等的说明。
9、局部(中间)变量注释:
主要变量必须有注释,无特别意义的情况下可以不加注释。
10、实参/参数注释:
参数含义、及其它任何约束或前提条件。
11、字段/属性注释: 字段描述,属性说明。
12、常量:常量通常具有一定的实际意义,要定义相应说明。