命名规范
| 类型 |
约束 |
| 项目名 |
羊肉串式:全部小写,多个单词用中划线分隔 |
| 包名 |
无限制式:全部小写,多个单词不用分隔 |
| 类名 |
大驼峰式:单词首字母大写 |
| 变量名和方法名 |
小驼峰式:首字母小写,除首个单词,其他单词首字母大写,变量名用名词,方法名用动词加宾语 |
| 常量名 |
大蛇形式:全部大写,多个单词用下划线分隔 |
| 表名和字段名 |
小蛇形式:全部小写,多个单词用下划线分隔,表名不要加复数形式 |
目录命名
项目命名
| 缩写后缀 |
全称 |
直意 |
特点 |
| CMS |
Content Management System |
内容管理系统 |
|
| OA |
Office Automatio System |
自动化办公系统 |
|
| HRM |
Human Resources Management System |
人力资源管理系统 |
|
| TMS |
Transportation Management System |
运输管理系统 |
|
| WMS |
Warehouse Management System |
仓库管理系统 |
|
| OMS |
Order Management System |
订单管理系统 |
|
| ERP |
Enterprise Resource Planning System |
企业资源计划系统 |
|
| CRM |
Customer Relationship Management System |
客户关系管理系统 |
|
| SRM |
Supplier Relationship Management System |
供应商关系管理系统 |
|
| HIS |
Hospital Information System |
医院信息系统 |
|
| PMS |
Property Management System |
物业(酒店)管理系统 |
|
|
|
|
|
包命名
包名的构成一般由前缀.发起者名.项目名.模块名组成,常见的前缀可以分为以下几种:
| 前缀名 |
例 |
含义 |
| indi或onem |
indi.发起者名.项目名.模块名.…… |
个体项目,个人发起但非独自完成,copyright主要属于发起者 |
| pers、priv |
pers.个人名.项目名.模块名.…… |
个人项目,独自完成,可公开或私有项目,copyright主要属于个人 |
| team |
team.团队名.项目名.模块名.…… |
团队项目,由该团队开发的项目,copyright属于该团队 |
| 顶级域名 |
com.公司名.项目名.模块名.…… |
公司项目,copyright由项目发起的公司所有 |
类命名
通用类
| 类别 |
约束 |
| 抽象类 |
Abstract或Base开头 |
| 标记接口 |
able结尾 |
| 枚举类 |
Enum结尾 |
| 常量类 |
Const结尾 |
| 异常类 |
Exception结尾 |
| 配置类 |
Config结尾 |
| 测试类 |
Test结尾 |
| 设计模式相关类 |
Builder,Factory等后缀 |
| MVC分层 |
Controller、Service、ServiceImpl、DAO结尾 |
| 接口实现类 |
接口名+ Impl |
框架类
| 类别 |
约束 |
| 映射器 |
Mapper结尾 |
| 拦截器 |
Interceptor结尾 |
| 切面 |
Aspect结尾 |
工具类
| 类别 |
约束 |
内容 |
| 工具箱、助手 |
Utils、Tools、Helper结尾 |
其中的方法用parse、format等 |
| 转换器 |
Converter结尾 |
其中的方法用convertToXxx等 |
| 填充器 |
filler结尾 |
可作为转换器的内部类,其中的方法用fillInXXX等 |
| 处理器 |
Handler结尾 |
其中的方法用xxxHandle等 |
| 校验器 |
Validator结尾 |
本地参数合法性校验,其中的方法用xxxValidate等 |
| 检查员 |
Checker结尾 |
远程查库状态校验,其中的方法用xxxCheck等 |
| 过滤器 |
filter结尾 |
根据条件过滤集合,其中的方法用xxxFilter |
| 发送器 |
Sender结尾 |
其中的方法用sendXxx等 |
领域模型类
| 类别 |
约束 |
内容 |
| 响应类 |
Response结尾 |
Controller返回对象,必须要有{message, data, code}这三个字段 |
| 视图对象类 |
VO结尾 |
Service返回对象,必须是向前端展示的内容,即Response中的data中的内容 |
| 数据传输对象类 |
DTO结尾 |
Service返回对象、Controller和Service非查询方法的参数,向第三方系统提供或从第三方系统取出的传输对象 |
| 查询对象类 |
Query结尾 |
查询方法所使用的参数 |
方法名
返回布尔值的方法
| 单词 |
位置 |
意义 |
| is |
前缀 |
对象是否符合期待的状态 |
| can |
前缀 |
对象能否执行所期待的动作 |
| should |
前缀 |
调用方执行某个命令或方法是好还是不好,应不应该,或者说推荐还是不推荐 |
| has |
前缀 |
对象是否持有所期待的数据和属性 |
| needs |
前缀 |
调用方是否需要执行某个命令或方法 |
用来检查的方法
| 单词 |
位置 |
意义 |
| ensure |
前缀 |
检查是否为期待的状态,不是则抛出异常或返回error code |
| validate |
后缀 |
检查是否为正确的状态,不是则抛出异常或返回error code |
| check |
前缀 |
检查是否为正确的状态,不是则抛出异常或返回error code |
按需执行的方法
| 单词 |
位置 |
意义 |
| IfNeeded |
后缀 |
需要的时候执行,不需要的时候什么都不做 |
| might |
前缀 |
需要的时候执行,不需要的时候什么都不做 |
| try |
前缀 |
尝试执行,失败时抛出异常或是返回errorcode |
| OrDefault |
后缀 |
尝试执行,失败时返回默认值 |
| OrElse |
后缀 |
尝试执行、失败时返回实际参数中指定的值 |
| force |
前缀 |
强制尝试执行。error抛出异常或是返回值 |
异步相关方法
| 单词 |
位置 |
意义 |
| blocking |
前缀 |
线程阻塞方法 |
| InBackground |
后缀 |
执行在后台的线程 |
| Async |
后缀 |
异步方法 |
| Sync |
后缀 |
对应已有异步方法的同步方法 |
| schedule |
前缀或单独使用 |
Job和Task放入队列 |
| post |
前缀或单独使用 |
同上 |
| execute |
前缀或单独使用 |
执行异步方法(注:我一般拿这个做同步方法名) |
| start |
前缀或单独使用 |
同上 |
| cancel |
前缀或单独使用 |
停止异步方法 |
| stop |
前缀或单独使用 |
同上 |
回调方法
| 单词 |
位置 |
意义 |
| on |
前缀 |
事件发生时执行 |
| before |
前缀 |
事件发生前执行 |
| pre |
前缀 |
事件发生前执行 |
| will |
前缀 |
事件发生前执行 |
| after |
前缀 |
事件发生后执行 |
| post |
前缀 |
事件发生后执行 |
| did |
前缀 |
事件发生后执行 |
| should |
前缀 |
确认事件是否可以发生时执行 |
操作对象生命周期的方法
| 单词 |
意义 |
| initialize |
初始化。也可作为延迟初始化使用 |
| pause |
暂停 |
| stop |
停止 |
| abandon |
销毁的替代 |
| destroy |
销毁的替代 |
| dispose |
销毁的替代 |
集合操作相关的方法
| 单词 |
意义 |
| contains |
是否持有与指定对象相同的对象 contains |
| add |
添加 |
| append |
添加 |
| insert |
插入到下标n |
| put |
添加与key对应的元素 |
| remove |
移除元素 |
| enqueue |
添加到队列的最末位 |
| dequeue |
从队列中头部取出并移除 |
| push |
添加到栈头 |
| pop |
从栈头取出并移除 |
| peek |
从栈头取出但不移除 |
| find |
寻找符合条件的某物 |
数据相关的方法
| 单词 |
意义 |
| create |
新创建 |
| new |
新创建 |
| from |
从既有的某物新建,或是从其他的数据新建 |
| to |
转换 |
| update |
更新既有某物 |
| load |
读取 |
| fetch |
远程读取 |
| delete |
删除 |
| remove |
删除 |
| save |
保存 |
| store |
保存 |
| commit |
保存 |
| apply |
保存或应用 |
| clear |
清除数据或是恢复到初始状态 |
| reset |
清除数据或是恢复到初始状态 |
其他常用命名
成对动词
| 正面 |
反面 |
| get:获取 |
set:设置 |
| add:增加 |
remove:删除 |
| create:创建 |
destory:移除 |
| start:启动 |
stop:停止 |
| open:打开 |
close:关闭 |
| read:读取 |
write:写入 |
| load:载入 |
save:保存 |
| create:创建 |
destroy:销毁 |
| begin:开始 |
end:结束 |
| backup:备份 |
restore:恢复 |
| import:导入 |
export:导出 |
| split:分割 |
merge:合并 |
| inject:注入 |
extract:提取 |
| attach:附着 |
detach:脱离 |
| bind:绑定 |
separate:分离 |
| view:查看 |
browse:浏览 |
| edit:编辑 |
modify:修改 |
| select:选取 |
mark:标记 |
| copy:复制 |
paste:粘贴 |
| undo:撤销 |
redo:重做 |
| insert:插入 |
delete:移除 |
| add:加入 |
append:添加 |
| clean:清理 |
clear:清除 |
| index:索引 |
sort:排序 |
| find:查找 |
search:搜索 |
| increase:增加 |
decrease:减少 |
| play:播放 |
pause:暂停 |
| launch:启动 |
run:运行 |
| compile:编译 |
execute:执行 |
| debug:调试 |
trace:跟踪 |
| observe:观察 |
listen:监听 |
| build:构建 |
publish:发布 |
| input:输入 |
output:输出 |
| encode:编码 |
decode:解码 |
| encrypt:加密 |
decrypt:解密 |
| compress:压缩 |
decompress:解压缩 |
| pack:打包 |
unpack:解包 |
| parse:解析 |
emit:生成 |
| connect:连接 |
disconnect:断开 |
| send:发送 |
receive:接收 |
| download:下载 |
upload:上传 |
| refresh:刷新 |
synchronize:同步 |
| update:更新 |
revert:复原 |
| lock:锁定 |
unlock:解锁 |
| check out:签出 |
check in:签入 |
| submit:提交 |
commit:交付 |
| push:推 |
pull:拉 |
| expand:展开 |
collapse:折叠 |
| begin:起始 |
end:结束 |
| start:开始 |
finish:完成 |
| enter:进入 |
exit:退出 |
| abort:放弃 |
quit:离开 |
| obsolete:废弃 |
depreciate:废旧 |
| collect:收集 |
ggregate:聚集 |
| disabled:禁用 |
enabled:启用 |
常用名词
数组使用名词+复数形式,集合使用集合后缀比如map、list、set
| 单词 |
含义 |
| result |
结果 |
| count |
计数 |
| number |
数字 |
| flag |
标记 |
| base |
基础 |
| info |
信息 |
| item |
项 |
| city |
城市 |
| status |
状态 |
| type |
类型 |
| element |
元素 |
| value |
值 |
| content |
内容 |
| file |
文件 |
| other |
其他 |
| task |
任务 |
| authority |
认证 |
| detail |
详情 |
| instance |
实例 |
Comments NOTHING