最近在做java项目开始关注和注意一些java规范,目的只是为了让自己和别人更容易理解自己写的代码和复用。
一个重要的原则就是:问你自己,你如果从来没有见过这段代码,你要快速地知道这段代码是干什么的,你需要一些什么信息?
单行注释和块注释(多行)这些书本和学习的时候都会知道就不在这写了,主要写一个文档注释,其实这个可以参考java的API文档,java的API文档也是按一定规范写的注释!
javadoc注释标签语法 (不太熟时,其实可以使用格式化代码功能,让IDE自动帮助排版,Eclipse类软件的快捷键是: Ctrl+Shift+F)
@author 对类的说明标明开发该类模块的作者 @version 对类的说明标明该类模块的版本 @see 对类、属性、方法的说明 参考转向,也就是相关主题 @param 对方法的说明对方法中某参数的说明 @return 对方法的说明对方法返回值的说明 @exception 对方法的说明对方法可能抛出的异常进行说明
在myEclipse中设置默认生成的注释:
1. 源文件注释
源文件注释采用 /** …… */,在每个源文件的头部要有必要的注释信息,包括:文件名;文件编号;版本号;作者;创建时间;文件描述包括本文件历史修改记录等。
中文注释模版:
/** * 文件名 : * CopyRright (c) 2016-xxxx: * 文件编号: * 创建人: * 日期: * 修改人: * 日期: * 描述: * 版本号: */
2. 类(模块)注释:
类(模块)注释采用 /** ……
*/,在每个类的头部要有必要的注释信息,包括:工程名;类编号;命名空间;类可以运行的JDK版本;版本号;作者;创建时间;类功能描述(如功能、主要算法、内部各部分之间的关系、该类与其类的关系等,必要时还要有一些如特别的软硬件要求等说明);主要函数或过程清单及本类历史修改记录等。
英文注释模版:
/** * CopyRright (c)2016-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: <版本号> */
3. 接口注释:
接口注释采用 /** …… */,在满足类注释的基础之上,接口注释应该包含描述接口的目的、它应如何被使用以及如何不被使用,块标记部分必须注明作者和版本。在接口注释清楚的前提下对应的实现类可以不加注释。
4. 构造函数注释:
构造函数注释采用 /** …… */,描述部分注明构造函数的作用,不一定有块标记部分。
注释模版一:
/** * 默认构造函数 */
注释模版二:
/** * Description : 带参数构造函数, * 初始化模式名,名称和数据源类型 * @param schema: 模式名 * @param name: 名称 * @param type: 数据源类型 */
5. 函数注释:
函数注释采用 /** ……*/,在每个函数或者过程的前面要有必要的注释信息,包括:函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等。函数注释里面可以不出现版本号(@version)。
注释模版一:
/** * 函 数 名 : * 功能描述: * 输入参数: <按照参数定义顺序> * <@param后面空格后跟着参数的变量名字 * (不是类型),空格后跟着对该参数的描述。> * 返 回 值: - 类型 <说明> * <返回为空(void)的构造函数或者函数, * @return 可以省略; 如果返回值就是输入参数,必须用与输入参数的 * @param 相同的描述信息; 必要的时候注明特殊条件写的返回值。 * 异常:<按照异常名字的字母顺序> * 创建人: * 日期: * 修改人: * 日期: */
注释模版二:
/** * FunName: getFirstSpell * Description : 获取汉字拼音首字母的字符串, * @param: str the String是包含汉字的字符串 * @return String:汉字返回拼音首字母字符串; * @Author: Sky * @Create Date: 2016-07-21 */
6. 方法注释:
方法注释采用 /** …… */,对于设置 (Set 方法 ) 与获取 (Get 方法 )
成员的方法,在成员变量已有说明的情况下,可以不加注释;普通成员方法要求说明完成什么功能,参数含义是什么且返回值什么;另外方法的创建时间必须注释清楚,为将来的维护和阅读提供宝贵线索。
方法内部注释: 控制结构,代码做了些什么以及为什么这样做,处理顺序等,特别是复杂的逻辑处理部分,要尽可能的给出详细的注释。
7. 其他注释
全局变量注释:
要有较详细的注释,包括对其功能、取值范围、哪些函数或者过程存取以及存取时注意事项等的说明。
局部(中间)变量注释:
主要变量必须有注释,无特别意义的情况下可以不加注释。
实参/参数注释:
参数含义、及其它任何约束或前提条件。
字段/属性注释:
字段描述,属性说明。
常量:
常量通常具有一定的实际意义,要定义相应说明。