一、概述
-
标识符的命名需要做到三点:统一、达意、简洁
-
统一:对于同一个概念,在程序中用同一种表示方法
-
对于供应商,既可以用supplier,也可以用provider,但是我们只能选定一个使用,至少在一个Java项目中保持统一。
-
-
达意:标识符能准确的表达出它所代表的意义
-
newSupplier, OrderPaymentGatewayService等;而 supplier1, service2,idtts等则不是好的命名方式。
-
-
简洁:在统一和达意的前提下,用尽量少的标识符。如果不能达意,宁愿不要简洁。
-
theOrderNameOfTheTargetSupplierWhichIsTransfered 太长, transferedTargetSupplierOrderName则较好,但是transTgtSplOrdNm就不好了。省略元音的缩写方式不要使用,我们的英语往往还没有好到看得懂奇怪的缩写。
-
二、骆驼法则
- 在Java中,除了包名,静态常量等特殊情况,大部分情况下标识符使用骆驼法则
- 即单词之间不使用特殊符号分割,而是通过首字母大写来分割
- 比如:SupplierName, addNewContract,而不是 supplier_name, add_new_contract
三、英文 vs 拼音
- 尽量使用通俗易懂的英文单词
- 如果不会可以向XX翻译求助,实在不行则使用汉语拼音,但尽量避免拼音与英文混用。
四、包名类名接口名方法名常量名...的命名规范
1.包名
- 全部使用小写字母如 com.xxx.settlment,不要 com.xxx.Settlement
- 单词间不要用字符隔开,比如 com.xxx.settlment.jsfutil,而不要com.xxx.settlement.jsf_util
2.类名接口名
-
所有单词首字母大写
- 比如 SupplierService, PaymentOrderAction;不要 supplierService, paymentOrderAction
3.局部变量名(参数 方法名)
-
首字母小写,其后依据骆驼法则单词首字母大写,如 addOrder() 不要 AddOrder()
-
动词在前,如 addOrder(),不要orderAdd()
4.常量名(静态常量 枚举)
- 全大写 并且 用下划线分割
-
//静态变量示例: public static find String ORDER_PAID_EVENT = “ORDER_PAID_EVENT”; //枚举示例: public enum Events { ORDER_PAID, ORDER_CREATED }
-
五、常见的命名类名后缀 及 方法名前缀
-
常见的类名后缀 后缀名
意义
举例
Service
表明这个类是个服务类,里面包含了给其他类提同业务服务的方法
PaymentOrderService
Impl
这个类是一个实现类,而不是接口
PaymentOrderServiceImpl
Inter
这个类是一个接口
LifeCycleInter
Dao
这个类封装了数据访问方法
PaymentOrderDao
Action
直接处理页面请求,管理页面逻辑了类
UpdateOrderListAction
Listener
响应某种事件的类
PaymentSuccessListener
Event
这个类代表了某种事件
PaymentSuccessEvent
Servlet
一个Servlet
PaymentCallbackServlet
Factory
生成某种对象工厂的类
PaymentOrderFactory
Adapter
用来连接某种以前不被支持的对象的类
DatabaseLogAdapter
Job
某种按时间运行的任务
PaymentOrderCancelJob
Wrapper
这是一个包装类,为了给某个类提供没有的能力
SelectableOrderListWrapper
Bean
这是一个POJO
MenuStateBean
常见的方法名前缀 前缀名 意义 举例 create
创建
createOrder()
delete
删除
deleteOrder()
add
创建,暗示新创建的对象属于某个集合
addPaidOrder()
remove
删除
removeOrder()
init或则initialize
初始化,暗示会做些诸如获取资源等特殊动作
initializeObjectPool
destroy
销毁,暗示会做些诸如释放资源的特殊动作
destroyObjectPool
open
打开
openConnection()
close
关闭
closeConnection()<
read
读取
readUserName()
write
写入
writeUserName()
get
获得
getName()
set
设置
setName()
prepare
准备
prepareOrderList()
copy
复制
copyCustomerList()
modity
修改
modifyActualTotalAmount()
calculate
数值计算
calculateCommission()
do
执行某个过程或流程
doOrderCancelJob()
dispatch
判断程序流程转向
dispatchUserRequest()
start
开始
startOrderProcessing()
stop
结束
stopOrderProcessing()
send
发送某个消息或事件
sendOrderPaidMessage()
receive
接受消息或时间
receiveOrderPaidMessgae()
respond
响应用户动作
responseOrderListItemClicked()
find
查找对象
findNewSupplier()
update
更新对象
updateCommission()