十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
深圳远标(ITJOB)帮你:
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的丘北网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
Java代码规范之一 ——标识符命名规范
转载 2015-08-19 12:06:22
1. 标识符命名规范
1.1 概述
标识符的命名力求做到统一、达意和简洁。
1.1.1
统一
统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用supplier,也可以用provider,但是我们只能选定一个使用,至少在一个Java项目中保持统一。统一是作为重要的,如果对同一概念有不同的表示方法,会使代码混乱难以理解。即使不能取得好的名称,但是只要统一,阅读起来也不会太困难,因为阅读者只要理解一次。
1.1.2
达意
达意是指,标识符能准确的表达出它所代表的意义,比如: newSupplier,
OrderPaymentGatewayService等;而 supplier1,
service2,idtts等则不是好的命名方式。准确有两成含义,一是正确,而是丰富。如果给一个代表供应商的变量起名是
order,显然没有正确表达。同样的,supplier1, 远没有targetSupplier意义丰富。
1.1.3
简洁
简洁是指,在统一和达意的前提下,用尽量少的标识符。如果不能达意,宁愿不要简洁。比如:theOrderNameOfTheTargetSupplierWhichIsTransfered 太长,
transferedTargetSupplierOrderName则较好,但是transTgtSplOrdNm就不好了。省略元音的缩写方式不要使用,我们的英语往往还没有好到看得懂奇怪的缩写。
1.1.4
骆驼法则
Java中,除了包名,静态常量等特殊情况,大部分情况下标识符使用骆驼法则,即单词之间不使用特殊符号分割,而是通过首字母大写来分割。比如:
SupplierName, addNewContract,而不是 supplier_name,
add_new_contract。
经常在网上看到一些代码对标识符的命名都不大规范,这次特地整理一下java中各类标识符的命名规则,java课程希望对大家有所帮助。
一、标识符命名规则
1、标识符用作给变量、方法和类命名。
2、以字母、下划线“_”和“$”符开头,后面可跟字母、下划线“_”和“$”符或数字。
3、大小写敏感。
4、应该使用有意义的名称,达到见名知意的目的,并且长度无限制。
5、尽量不要使用中文。
6、不可以是true和false。true和false虽然不是关键字,但是有特殊用途。
7、避免与java关键字与java类库的类名重名,java关键字一共有51个。
二、对于不同标识符使用不同的命名规则
1、包名:全部小写,用”.”隔开,每一个点表示一级目录,至少要有一级目录。
(1)单级包:小写。如:com
(2)多级包:小写,用”.”隔开。
2、类或接口:所有单词首字母大写。(大驼峰法)
(1)一个单词:首字母大写。如:Student、People
(2)多个单词:每个单词首字母大写。如:HelloWorld、ServerSocket
3、方法或变量:第一个单词首字母小写,从第二个单词开始首字母大写。(小驼峰法)
(1)一个单词:首字母小写。如:name、age
(2)多个单词:第二个单词首字母大写。如:stuName、showTime
4、常量:全部大写,单词键以下划线”_”隔开
(1)一个单词:全大写。如:PI、COUNT
(2)多个单词:全大写,并以”_”隔开。如:RESULT_OK、WINDOW_HIERARCHY_TAG
总之,遵循这个命名规范,不止有利于别人能够更快速的读懂我们的代码,了解代码中的成员,还能够让我们在实际开发中减少很多不必要的麻烦。
//合法标识符,首位不能是数字;
//Java关键字不能当作Java标识符;
//标识符不能包含空格;
//不能包含@、#等其他特殊字符,只能包含美元符号($);
包名:字母全部小写。如,com.abc.dollapp。
常量名:采用大写形式,单词之间以下划线“_”隔开。
标识符组成
Java标识符由数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。
下面的标识符是合法的:
myName,My_name,Points,$points,_sys_ta,OK,_23b,_3_
下面的标识符是非法的:
#name,25name,class,time,if
以上内容参考;百度百科-java标识符