产品二科
Java代码规范
本Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做一些修改。本文档中没有说明的地方,请参看SUNJava标准代码规范。如果两边有冲突,以SUNJava标准为准。
1标识符命名规范
11概述
标识符的命名力求做到统一、达意和简洁。尽量做到每个人按照规范来,多人开发如一人开发一样。
111统一
统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用supplier,也可以用provider,但是我们只能选定一个使用,至少在一个Java项目中保持统一。统一是作为重要的,如果对同一概念有不同的表示方法,会使代码混乱难以理解。即使不能取得好的名称,但是只要统一,阅读起来也不会太困难,因为阅读者只要理解一次。
112达意
达意是指,标识符能准确的表达出它所代表的意义,比如:
ewSupplierOrderPayme
tGatewayService等;而supplier1service2,idtts等则不是好的命名方式。准确有两成含义,一是正确,而是丰富。如果给一个代表供应商的变量起名是order,显然没有正确表达。同样的,supplier1远没有targetSupplier意义丰富。
113简洁
简洁是指,在统一和达意的前提下,用尽量少的标识符。如果不能达意,宁愿不要简洁。比如:theOrderNameOfTheTargetSupplierWhichIsTra
sfered太长,tra
sferedTargetSupplierOrderName则较好,但是tra
sTgtSplOrdNm就不好了。省略元音的缩写方式不要使用,我们的英语往往还没有好到看得懂奇怪的缩写。
114骆驼法则
f产品二科
Java中,除了包名,静态常量等特殊情况,大部分情况下标识符使用骆驼法则,即单词之间不使用特殊符号分割,而是通过首字母大写来分割。比如supplierNameaddNewCo
tract,而不是supplier_
ameadd_
ew_co
tract。
115英文vs拼音
尽量使用通俗易懂的英文单词,如果不会可以向队友求助,实在不行则使用汉语拼音,避免拼音与英文混用。比如表示归档,用archive比较好用pigeo
hole则不好,用guiDa
g尚可接受。
12包名
使用小写字母如comamerisiaebills,不要comamerisiaEbills单词间不要用字符隔开,比如comamerisiaebills,而不要comamerisiaebills_util
13类名
131首字母大写
类名要首字母大写,比如LCIssueI
foMa
agerEJBLCIssueActio
;不要lcIssueI
foMa
agerEJBlcIssueActio
132后缀
类名往往用不同的后缀表达额外的意思,如下表:
后缀名意义
举例
EJB表示这个类为EJB类
LCIssueI
foMa
agerEJB
表明这个类是个服务类,里面包含了给其他类提同
Service业务服务的方法
Payme
tOrderService
ImplI
terDao
这个类是一个实现类,而不是接口r