Java代码书写规范

当不得不违背本规范时,请详细注释缘由
1、通用规范
1.1命名规范
1. 使用全单词表示
2. 使用贴切的词汇
3. 使用大小写混合
4. 尽可能少用缩略词,不然,维护一个标准的缩略词表
5. 避免过长,小于15
6. 避免相似的命名或仅在大小写上区分的命名
7. 标准缩略词作一个单词处理
1.2文档规范
1. 增长注释,以确保代码清晰
2. 无需注释的程序,可能也不值得运行
3. 避免修饰性注释
4. 保持注释简洁
5. 写代码以前写注释
6. 注释中说明代码的缘由,而不是结果
2、Java编码规范
2.1命名和大小写规范:
下面这些普遍使用的命名规范能够应用到Java中的包、类、方法、属性和常量。由于这些规范的使用很是广泛,并且它们还影响到了咱们定义的类的公共API,因此咱们应该认真遵照这些规范:
1. 包
保证包的名称是惟一的,包的名称前缀以咱们的网络域名称,包名小写(例如com.itsv.utils)置于文件最上一行
2. 类
第一个字母必须大写,因此类名称是大小写混合的(例如String);若是类名称是由多个单词组成的,那么每一个单词都应该以大写字母开头(例如StringBuffer);若是一个类名称或者类名称中的一个单词是字母缩写词,那么咱们能够把这个缩写词中的每一个字母都写成大写(例如URL、HTMLParser)。由于设计的类是用来表明对象的,因此咱们在为类起名称时应尽可能选择名词。
若是是某一种特殊类别的类,则能够统一采用特殊简短后缀来标识,这些后缀所有大写。例如,对全部处理与数据库相关的类,能够在类名后加上DAOImpl来标识
引用类: 所有置于包名以后,文件所定义类名以前
类的定义顺序:
class xxx
constructors
finalize
public member functions
protected member functions
private member functions
private fields
3. 接口
接口名称遵循的大小写规则和类名称是同样的。用接口来提供一些关于实现它的类的额外信息,经常使用形容词做为接口名称(例如Runnable),当接口更像一个抽象的超类时,咱们又用名词来做为接口的名称(例如Document)
在建立类以前先建立公共接口,以肯定类的应用存根,接口的命名用描述性的形容词或名词,或者加前缀I 或后缀Ifc:
Runnable
Cloneable
Singleton
DataInput
4. 方法
方法名称老是以小写字母开头。若是名称中包含的单词多于一个(通常使用动词和名词组合而成),那么除第一个单词外的全部单词都应该以大写字母开头,动词放在首单词,例如insert()、insertObject()。
成员变量访问方法accessor的命名:
使用Getter-get和Setter-set方法,对于boolean类型的可使用is代替get
Getter还有can和has
成员方法的范围:
范围 描述 正确使用方法
Public 任何类或对象的任何成员方法中能够调用 当该方法必须被当前类分支以外的类或对象调用时
Protected 只能被同类及全部子类的成员方法调用 当该方法只能被当前类及其分支以内的类或对象调用时
private 只能被同类的成员方法调用,子类的成员方法不能调用 封装一个类的特有方法,当前类所特有,其余类或子类没有
缺省的为软件包级可用,对相同软件包package的类可以使用,不能在不一样软件包的类中调用
5. 属性和常量
很是量的属性名称所遵循的大小写规则和方法名称是同样的。若是一个属性是静态final类型的常量,那么该属性的全部字母都应该大写。若是常量的名称中包含多个单词,那么应该用下划线来分隔这些单词(例如MAX_VALUE)。此外,选择的属性名称应该是最能说明属性或其取值的含义的。
集合属性(Array, Vector)采用复数
firstName
orderItems
常量命名
static final MAX_VALUE
属性范围
范围 描述 用于
public 能够在全部类的方法中引用 最好不定义此类属性
protected 能够在本类及子类方法中引用 最好不定义此类属性
private 只能用于同类的方法中 全部属性都应是此种类型并经过访问器accessor访问
6. 参数
方法参数名称会出如今方法的文档中,因此参数含义应尽量明确。通常参数名称为一个单词。
成员函数的参数标准:
使用接口代替类做为参数,实现多态性
7. 局部变量
命名规则和方法以及属性的命名规则同样。
2.2 注释规范
2.2.1整体说明
1. 三种类型的Java注释
注释类型 用于 例子
文档注释 写在类、接口、成员函数和属性的定义紧前方,由javadoc用于建立类的外部文档。 /**
* document comments
*/
C风格注释
暂时注释不用的代码 /*
comments
*/
单行注释
在成员函数中用于注释商业逻辑,代码段,变量定义 // comments
文档注释的主体部分一开始应该先用一句话归纳类、接口、方法或属性完成的功能,书写时单独占一行。归纳性句子的后面还能够跟若干条,详细介绍类、接口、方法或属性的注释语句及段落。
在描述性的段落以后,文档注释还能够包括其余一些段落,每一个段落都以一个特殊的文档注释标签开始,例如@auther、@param。
2. doc注释的标签
@author 名称 后加上相应的做者
@version 文本 插入指定文本的版本信息
@param 参数-名称描述
@return 描述
@exception 完整的类名称 描述信息
@throws 完整的类名称 描述信息
@see 引用其余类,格式以下:@see 类名
@see 完整类名
@see 完整类名#方法名
{@link引用}
@deprecated 解释
@since 版本号
@serial 描述信息
@serialField名称 类型 描述信息
@serialData描述信息
@beaninfo信息
文档注释的描述信息能够包括简单的HTML标注标签,不包括HTML的主要结构标签,例如<H2>和<HR>等。
在文档注释中使用标签 {@link}来引用超级连接或者是交叉引用,避免用标签<A>。 若是但愿在文档注释中包括图像,能够把图像文件放在源代码目录下的doc文件的子目录中,而后把图像取名为和类同样的名称,并在名称以后加上数字做为后缀,例如,能够在叫作Circle类的文档注释中包括下面这个HTML标签,它定义了出如今注释中的第二张图片:<IMG src=”doc-files/Circles-2.gif”> 2.2.2具体注释内容 1. 注释类 类功能说明:注释类的功能 @author 注释类的做者 @see 注释引用类的状况 @version 注释类的版本信息 2. 注释成员方法  头部注释 1. 功能描述:描述成员方法的功能及存在的缘由(必填) 2. @param 参数及名称描述(必填) 3. @return 返回值(必填) 4. @exception 描述信息 5. @see 引用说明 6. @since 版本号 7. 存在问题:存在的还没有解决的问题 8. 使用范围:肯定使用范围及缘由 9. 外部变更:对其余对象的变更注释 10. 修改历史:注明修改时间、修改人、修改内容、修改缘由(必填) 11. 调用方法:说明调用的前提条件和过后条件、说明并发调用状况  内部注释 1. 在方法内部的开始部分统一注释方法的逻辑 2. 控制结构,结构性语句的起始位置须要注明,控制结构的尾部 3. 注明局部变量 4. 注释结束括号} 2.3编写清晰的代码 1. 注释文档 2. 段落化 3. 多行语句段落化 4. 使用空格和空行 5. 方法不能太长,遵循30秒规则 6. 定义消息的传递,在注释中体现 7. 简短的命令行 8. 将比较的常数放在左方,以防止误写为赋值语句 3、 JAVA命名缩略词表 参见缩略词表。
相关文章
相关标签/搜索