java中的编程规范_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java中的编程规范

java中的编程规范

 2015/3/7 18:17:37  xiao1zhao2  程序员俱乐部  我要评论(0)
  • 摘要:本规范中标红的内容为强制性遵循内容,开发人员必须遵守;蓝色为强烈建议性内容,最好遵守;其他内容为一般性建议.不足之处欢迎大家指点补充.1.命名规则1.1基本的规则1,字符集在26个英文字母、0到9的阿拉伯数字和下划线之中.java中类、字段、方法、变量、常量尽量用字母表达,没有特别的理由不能用其他任何的字符.2,命名需要有一定的意义,推荐采用问题域中的术语命名,使命名在一定程度上是自描述的.3,命名尽量的短,如果命名太长,可以采用别名或者缩写命名.缩写需要有一定的意义
  • 标签:Java 编程

本规范中标红的内容为强制性遵循内容,开发人员必须遵守;蓝色为强烈建议性内容,最好遵守;其他内容为一般性建议.不足之处欢迎大家指点补充.

?

1.命名规则

?

1.1基本的规则

1,字符集在26个英文字母、0到9的阿拉伯数字和下划线之中.java中类、字段、方法、变量、常量尽量用字母表达,没有特别的理由不能用其他任何的字符.
2,命名需要有一定的意义,推荐采用问题域中的术语命名,使命名在一定程度上是自描述的.
3,命名尽量的短,如果命名太长,可以采用别名或者缩写命名.缩写需要有一定的意义,在整个项目中维护这些缩写的意义.
4,名称缩写的规则(对于类名、字段名、变量名称、模块名称等适用)
??? 1)删除所有的元音字母并压缩重复字母.如button,缩写为btn
??? 2)如果发生冲突,则在某一缩写中保留元音.如batton与button冲突,缩写为batn
5,不要用前导下划线,也不要在命名的末尾用下划线.

?

1.2常量命名

1,所有的字符必须大写.采用有意义的单词组合表达,单词之间用下划线"_"隔开.
2,命名尽量简短,不要超过16个字符.程序开发中最好不要直接对literal进行工作,最好引入常量方式应用;只有在特别的情况下才使用,如在for循环初始化变量时可直接用-1,0,1这些常量.例:

class="java"> public final int MAX_SIZE = 120;

?

1.3变量命名

变量的命名包括实例变量,静态变量,函数参数的命名.
1,避免在命名中采用数字,除非命名意义明确,程序更加清晰.
2,变量名称是名词意义.
3,采用符合问题域意义的单词或组合.第一个单词全部小写,后续每个单词首字母大写,其余小写,称为驼峰法.(特殊单词除外,如URL)
4,命名尽量简短,不超过16个字符.
5,出了生命周期很短的临时变量除外,避免使用单字符作为变量名,实例变量的命名不要采用单字符.常用的单字符变量如整型用i,j,k,m,n;字符型用c,d,e;坐标用x,y,z.
在某些情况下变量可能要加上类型前缀,所有的类型前缀必须是小写,与变量名的实体部分没有任何间隔.
6,不在特别的情况下,java中部推荐使用前缀,推荐保持名称的语义.例:

	public int width;
	public String fileName;
	public static ApplicationgContext context;

?

1.4方法命名

1,变量名称是动词意义.
2,采用符合问题域意义的单词或组合.第一个单词全部小写,后续每个单词首字母大写,其余小写,称为驼峰法.(特殊单词除外,如URL)
3,在java中对属性方法的命名遵循JavaBean的标准:
1)getter()方法:get+属性名,对boolean类型使用is+属性名,有些特定属性用has,can可能会更好,例:

	Sting getName();
	boolean isStop();

2)setter()方法:set+属性名
3)构造方法命名与类名一致

?

1.5类和接口的命名

1,采用符合问题域意义的单词或组合,每个单词首字母大写,其余小写.(特殊单词除外,如URL)

2,接口的第一个字符采用I

?

1.6包的命名

1,所有包的字符都为小写.
2,两个不同业务之间的包不要双向依赖,可以单项依赖.
3,采用逻辑上的层次结构,从而减少依赖.

?

2注释规范

?

2.1基本原则

1,注释应该使代码更加清晰易懂.
2,注释要简单明了,如果注释太复杂说明程序需要修改调整,使设计更加合理.
3,注释不仅要描述做了什么,还要描述为什么这样做,以及约束.
4,一般的getter和setter方法不用注释.
5,注释不能嵌套.
6,生成开发文档的需要用中文编写.

?

2.2三种注释方式说明

1,文档注释/**?*/
可应用于多行,一般对类,接口,成员方法,成员变量,静态字段,静态方法,常量进行说明.javadoc可以用它来产生代码的文档.为了可读性,可以有缩进和格式控制.
2,行注释//
一次只能注释一行,一般用来简短的描述某一个局部变量或程序块的作用.
3,块注释/*?*/
在代码中很少使用,常用于提供文件,方法,数据结构等的意义与用途的说明或者描述,一般位于一个文件的前面,起到引导的作用.

?

2.3类/接口的注释

对类和接口的描述,一般比较详细,按照常用的说明顺序,主要包括:

1,类的主要说明,以"."或者"。"结束.
2,类设计的主要目标,完成什么样的功能.
3,主要的类使用,包括环境要求,如是否线程安全,并发性要求,以及使用约束.
4,已知的bug.
5,描述类的修改历史,修改人+日期+简单说明.
6,@author作者,@version版本,@see参照,@since开始版本等信息, 为了使形成的文档可读性好,注释经常带有缩进和格式控制.

?

2.4变量注释

1,成员变量,静态变量采用文档注释,通常包括变量的意义,变量的合法值域以及对并发访问的限制.

2,局部变量,如算法相关的变量应采用行注释.
3,参数变量一般采用文档注释,一般包括参数的用途以及对参数值范围的要求.

?

2.5方法注释

描述方法的功能,对成员方法,静态方法一般采用文档描述,特别是公开的方法.注释可以很详细,也可以包含缩进和格式控制,一般包括:

1,方法的主要说明.
2,描述方法完成什么样的功能,方法的目标,用该方法的原因.
3,描述该方法的使用方法,如环境要求,前置条件,后置条件和并发性要求.
4,@param参数说明.
5,@return返回值说明.
6,@see如果重载方法必须参考父类方法.

?

2.6修改记录

1,在修改一个类之前,必须从SVN中update.
2,修改的地方必须加入注释,说明修改人,修改原因,修改内容,修改时间等.

?

3编码规范

?

3.1基本原则

1,一个程序文件尽量不要超过2000行.
2,对于变量要采用以下优先级:局部变量>实例变量>类变量.
3,对于方法,变量声明范围采用以下优先级:private>protected>public.
4,字符串的动态操作尽量使用StringBuffer.
5,return语句中,不要有复杂的运算.
6,switch语句中,需要一个default的分支.
7,使用集合时需使用泛型.
8,如果不是必须,不要再循环中定义变量或者new对象.
9,如果不是必须,不要再循环中用try catch.
10,不要出现无用的import.
11,面向接口编程.

?

3.2类编写规范

1,类的结构组织一般按照如下的顺序:
??? 1)常量声明
??? 2)静态变量声明
??? 3)成员变量声明
??? 4)构造函数部分
??? 5)Finalize部分
??? 6)成员方法部分
??? 7)静态方法部分
这种顺序是推荐的,在实际中可以按照一定的尺度修改,原则是程序更易读.
2,每个方法都是一个段,多个变量声明按照逻辑共同组成一个段,段与段之间以空行分隔.
3,编写通用的类时,请遵守标准形式.包括定义equals(),hashCode(),toString(),Clone(实现Cloneable接口),并实现Comparable和Serialiable接口.
4,对于设计期间不需要继承的类,尽量用final.
5,把一些逻辑相关的类组织在一起,推荐使用内部类.

?

3.3变量

1,对于成员变量,尽量用private,通过getter和setter方法访问.
2,每一个变量声明占一行,定义时避免与上一层作用域的变量同名.
3,局部变量使用前必须初始化,一般在声明时初始化.
4,变量的声明放在程序块的开始位置.(for语句例外).
5,数组的声明采用"数组类型[]+变量名",而不是"数组类型+变量名[]".

?

3.4方法

1,一个方法要完成的功能要单一,不同的功能封装为不同的方法.
2,对于成员方法,不要轻易的采用public的成员变量.
3,空方法的声明和方法体在一行,如:void func(){}.
4,方法与方法之间空一行.
5,方法的文档注释放在方法紧前面,不能空行.
6,避免过多的参数列表,尽量控制在5个以内.
7,方法内的循环嵌套尽量不要超过2层.
8,在设计期间不需要重写的方法,尽量用final.
9,有效代码行数尽量不要超过100行,但要保证逻辑的完整性.
10,接口中的方法默认都是public的.

发表评论
用户名: 匿名