作者:放ch养奶牛 | 来源:互联网 | 2023-08-07 09:16
编程规约-命名风格命名规则一、正确的英文拼写和合理的缩写和语法规则正确示例国际通用的名称可视同英文alialibabataobaocainiaoaliyunyoukuhangzho
编程规约-命名风格
命名规则一、正确的英文拼写和合理的缩写和语法规则
正确示例
// 国际通用的名称 可视同英文
ali
alibaba
taobao
cainiao
aliyun
youku
hangzhou
反例一、使用下划线或美元符号开始或者结束
_name
name_
$name
name$
__name
name__
反例二、使用拼音或者中文
DaZhePromotion [打折]
getPingfenByName() [评分]
String fw[福娃]
int 某变量 = 3
反例三、族歧视性词语
RIBENGUIZI[日本人]
Asan[印度人]
blackList[黑名单 blockList]
whiteList[白名单 allowList]
slave[从属 secondary]
反例四、不规范的缩写
AbsClass[AbstractClass]
condi[condition]
Fu[Function]
命名规则二、包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式
命名规则三、类名使用 UpperCamelCase 风格,但以下情形例外:DO/BO/DTO/VO/AO/PO/UID等
正确示例
ForceCode
UserDO
HtmlDTO
XmlService
TcpUdpDeal
TaPromotion
异常类命名使用 Exception 结尾, 测试类命名以它要测试的类的名称开始,以 Test 结尾
命名规则四、抽象类命名使用 Abstract 或 Base 开头;
命名规则五、接口和实现类的命名有两套规则
A、对于 Service 和 DAO 类,基于 SOA 的理念,暴露出来的服务一定是接口,内部的实现类用Impl 的后缀与接口区别
正例:CacheServiceImpl 实现 CacheService 接口
B、如果是形容能力的接口名称,取对应的形容词为接口名(通常是–able 的形容词)
正例:AbstractTranslator 实现 Translatable 接口。
命名规则六、方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格
正确示例
localValue
getHttpMessage()
inputUserId
命名规则七、常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长
正确示例
MAX_STOCK_COUNT / CACHE_EXPIRED_TIME
反例
MAX_COUNT
EXPIRED_TIME
命名规则八、数据类型声明
A、数组:类型与中括号紧挨相连来表示。
正确示例
int[] arrayDemo
B、提升辨识度:表示类型的名词放在词尾
正确示例:
startTime
workQueue
nameList
TERMINATED_THREAD_COUNT
反例:
startedAt
QueueOfWork
listName
COUNT_TERMINATED_THREAD