java基础(五)之JAVA编码规范

一.命名规范

1 一般概念
1) 尽量使用完整的英文描述符
2) 采用适用于相关领域的术语
3) 采用大小写混合使名字可读
4)见名知意,简短意赅(小于 15 个字母为正常选择)
5) 避免使用下划线除静态常量等

2 标识符类型说明

1)包( Package )的命名
Package 的名字应该采用完整的英文描述符,都是由一个小写单词组成。并且包名的前缀总是一个顶级域名,通常是 com、edu、gov、mil、net、org ;
具体如: com.xqhadoop.test

2)类( Class )的命名
类名应该是个一名词,采用大小写混合的方式,每个单词的首字母大写。尽量保证类名简洁而富于描述。使用完整单词,避免缩写词 ( 除非工程内有统一缩写规范或该缩写词被更广泛使用,像 URL , HTML)

3) 接口( Interface )的命名
基本与 Class 的命名规范类似。在满足 Classd 命名规则的基础之上,保证开头第一个字母为 ”I”, 便于与普通的 Class区别开。其实现类名称取接口名的第二个字母到最后,且满足类名的命名规范;如: IMenuEngine。

4) 枚举( Enum )的命名
基本与 Class 的命名规范类似。在满足 Classd 命名规则的基础之上,保证开头第一个字母为 ”E”,
便于与普通的 Class区别开,如:EUserRole。

5)异常( Exception )的命名
异 常( Exception ) 通常采用字母 e 表示异常,对于自定义的异常类,其后缀必须为 Exception
如: BusinessException

6)方法( Method )的命名
方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。 方法名尽可能的描述出该方法的动作行为。返回类型为 Boolean 值的方法一般由“ is ”或“ has ”来开头 如:getCurrentUser() 、addUser() 、asAuthority()

7) 参数( Param )的命名
第一个单词的首字母小写,其后单词的首字母大写。参数量名不允许以下划线或美元符号开头, 虽然这在语法上是允许的。参数名应简短且富于描述。
如: public UserContext getLoginUser(String loginName);

8) 常量字段 ( Constants )的命名
静态常量字段( static final ) 全部采用大写字母,单词之间用下划线分隔;如: public static final Long FEEDBACK; public static Long USER_STATUS;
二.编码风格

1. 缩进问题

a.缩进风格
既然是从缩进说起,就先说说缩进风格;一般来说,象Java这样的类C语言,都采用缩进风格。
这是C程序最早的缩进风格,由C的发明者Ritchie和他的合作者Kernighan率先使用:

if (<cond>) {
<body>
}

其特点,是大括号和if判断在同一行。通常,缩进为8个空格或一个tab键,但在C++和Java里,也常缩进4个空格。有人喜欢用两个空格,窃以为不好,不明显。

b.Tab还是空格(Tabs vs Space)

还是缩进问题。那么一次缩进应该多大距离?是八个空格键,还是一个Tab键?Java有一个特点,就是跨平台性。不过跨平台指的是它的Class可以在不同平台的虚拟机上运行。Java的源程序,有时候可不是跨平台的。什么?源程序还能不跨平台?是的。在缩进的时候,尽量不用Tab,而是用空格(建议选4个空格)。

2.变量命名

SUN Java Code Convention里定义了Java里ackage, class, method和普通变量的命名规则,我就不用再浪费字节了。这里提提一些注意事项和一些SUN没提到但大家常用的方式。

a. 用有意义的名字命名变量

首先,用完整的英语单词或约定俗成的简写命名你的变量,如:firstName zipCode 如果英语不够好,至少用别人看得懂的拼音命名,如zhuZhi (住址),胡乱简写,或者胡乱命名,则没有人看得懂你的变量的含义。

b. 常量用全大写加下画线命名

Java里的常量,就是static final:

static final SMTH_BBS=”bbs.tsinghua.edu.cn”;

c. 用复数命名collection类变量

collection包括数组,vector等。命名时请用复数:
customers classMates。也可以用一些修饰词命名:
someStudents allDepartments。

d. 循环变量
一般大家都用i, j, k等做循环变量。

3. Java文件格式
有许多方式定义你的文件语句格式,以下是一个例子:

a. 文件头说明 (可无)
b. Package定义
c. 空行
d. Import语句
e. 空行
f. 类定义

4. import顺序

杂乱无章的顺序,看起来很不顺眼。应该对你要import的classes归类,按顺序罗列:

a. Java标准类(java.*)

b. Java扩充类(javax.*)

c. 第三方类

d. 你的应用程序的类

5. Classes的顺序

a. Javadoc注释或者其它文件头注释

b. 类声明

c. Fields声明

d. 空行

e. 构造函数

f. 空行

g. 方法(不包括main)

h. 空行

i. Inner类

j. 空行

k. main()

6. Field定义

请遵从以下顺序:

a.Public 常量

b.Public 变量

c.Protected 常量

d.Protected 变量

e.Package 常量

f.Package 变量

g.Private 常量

h.Private 变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值