规范需要平时编码过程中注意,是一个慢慢养成的好习惯
1.文件
1.属性文件后缀为properties,并且符合java中i18n的规范;
2.对于各产品模块自己的配置文件必须放置在自己模块的conf目录下;
3.文件的命名需要有一定的意义,尽量简短,名称符合操作系统的要求且必须为英文或汉语拼音组成,文件名称不能存在空格,对于普通的文件单词与单词之间采用下 滑线进行。
2.命名规范
2.1基本规则
1.字符集在26个英文字母、0到9的阿拉伯数字和下划线之中。Java中类、字段、方法、变量、常量尽量用字母表达,没有特别的理由不能用任何的其他字符
2.命名需要有一定的意义,推荐采用问题域中的术语命名,使命名在一定程度上是自描述的
3.命名尽量的短,如果命名太长,可以采用别名的方式,或者缩写来简化命名。缩写一定要有的意义,而且需要在整个项目中维护这些缩写的意义
4.名称缩写的规则(对于类名、字段名、变量名称、模块名称等适用)
1)删除所有的原音字母,压缩重复字母。如button,缩写为btn,
2)如发生命名冲突,则在某一缩写中保留原音。如batton,为了不与button冲突,缩写为batn
5.不要用前导下划线,也不要在命名的末尾用下划线
2.2常量命名规则
1.所有的字符都必须大写。采用有意义的单词组合表达,单词与单词之间以“_”下划线隔开。
2.命名尽量简短,不要超过16个字符
程序开发中最好不要直接对literal进行工作,最好引入常量方式应用;只有在特别的情况下才能使用, 如在for循环中初始化变量时可直接用-1,0,1这些常量
例
public final int MAX_SIZE = 120;
public final int MAX_WIDTH = 100;
public final String PROPERTY_NAME= "menu" ;
2.3变量命名规则
1.避免在命名中采用数字,除非命名意义明确,程序更加清晰,对实例变量的命名中不应该有数字
2.变量名称是名词意义
3.采用有符合问题域意义的单词或单词组合。第一个单词全部小写,后续的每个单词采用首字母大写,其余小写(特殊单词除外,如URL)
4.命名尽量简短,不要超过16个字符
5.除了生命周期很短的临时变量外,避免采用单字符作为变量名,实例变量的命名不要用单字符。常用的单字符变量如整型用 i、j、 k、 m、 n字符型用c、d、 e,坐标用x、y、z。
6.在某些情况下,变量可能需要加上类型前缀,所有的类型前缀必须是小写,他与变量名称的实体部分没有任何间隔,实体部的每个单词都是首字母大写,其余字 母小写(特殊单词除外如URL),类的全局变量强烈建议使用,一般的类型前缀如下
类型前缀 |
类型 |
例子 |
b |
Boolean、boolean |
bsingle |
f |
浮点数 |
fsize |
d |
UFDouble |
dmoney |
dt |
Date |
dtToday |
c |
Character,、char |
cinput |
obj |
OBJECT变量 |
objUser |
str |
字符串(String, StringBuffer) |
strFileName |
i |
整型数 |
iCount |
ary |
数组 |
aryName |
conn |
连接 |
connActiveConnection |
stmt |
Statement |
stmtFindUser |
rs |
Resultset |
rsUsers |
ArrayList |
al |
alData |
Map |
map |
key_value_Map |
Set |
set |
valueSet |
col |
Collection |
colNames |
msg |
消息 |
msgText |
err |
错误 |
errCode |
btn |
按钮 |
btnSubmit |
例
public int width;
public String fileName;
public static ApplicationContext context;
2.4方法命名规则
1.采用有符合问题域意义的单词或单词组合。第一个单词采用小写,后续的每个单词采用首字母大写,其余小写(特殊字除外如URL),没有特别理由不用下划线作为分隔符
2.在Java中对属性方法命名遵循JavaBean的标准:
1) getter方法:get+属性名, 对boolean型采用is+属性名,有些特定的属性名用has, can代替is可能更好
2) setter方法: set+属性名
3.构造方法的命名与类名一致
2.5类和接口命名规则
1.采用有符合问题域意义的单词或单词组合,每个单词的首字母大写,其余字母小写(特殊字除外如URL)
2.接口的第一个字符采用I
例
public class Fiugre
public interface FiugreContainer
public class StdFigure //std为Standard的缩写
2.6包的命名规则
1.包名所有的字符都为小写;
2.两个不同业务的包之间不要双向依赖,可以单向依赖;
3.采用逻辑上的层次结构,从而减少依赖