# 通用
camelCase:小驼峰;
PascalCase:大驼峰、帕斯卡命名法;
kebab-case:短横线隔开命名法。
- 妙用介词,如for(可以用同音的4代替), to(可用同音的2代替), from, with,of等。如类名采用User4RedisDO,方法名getUserInfoFromRedis,convertJson2Map等。
变量命名的语义约定
| 位置 |
单词 |
意义 |
例子 |
| pre |
is |
对象是否符合期待的状态 |
isValid |
| pre |
can |
对象能否执行所期待的动作 |
canRemove |
| pre |
should |
调用方执行某个命令或方法是好还是不好,应不应该,推荐不还是不推荐 |
shouldMigrate |
| pre |
has |
对象是否持有所期待的数据和属性 |
hasObservers |
| pre |
needs |
调用方是否需要执行某个命令或方法 |
needsMigrate |
方法命名的语义约定
| 位置 |
单词 |
意义 |
例子 |
| pre |
is |
对象是否符合期待的状态 |
isValid |
| pre |
can |
对象能否执行所期待的动作 |
canRemove |
| pre |
should |
调用方执行某个命令或方法是好还是不好,应不应该,推荐不还是不推荐 |
shouldMigrate |
| pre |
has |
对象是否持有所期待的数据和属性 |
hasObservers |
| pre |
needs |
调用方是否需要执行某个命令或方法 |
needsMigrate |
| 用来检查的方法 |
|
|
|
| pre |
ensure |
检查是否为期待的状态 |
ensureCapacity |
| pre |
validate |
检查是否为正确的状态 |
validateInput |
| 按需求才执行的方法 |
|
|
|
| suf |
IfNeeded |
|
drawIfNeeded |
| pre |
try |
|
tryCreate |
|
|
|
# Java
| 类型 |
约束 |
例子 |
| 项目 |
kebab-case |
spring-cloud |
| 类名 |
大驼峰 |
|
| 方法名 |
小驼峰 |
|
| 变量名 |
小驼峰 |
|
| 常量名 |
大写,单词间以”_”分隔 |
MAX_VALUE |
https://blog.csdn.net/weixin_39608748/article/details/110723787 / https://zhuanlan.zhihu.com/p/138429217
包名
Java的包名都有小写单词组成,类名首字母大写;包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类。以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现。
类命名
| 位置 |
属性(类) |
约束 |
例子 |
| pre |
抽象 |
Abstract或Base |
BaseUserService |
| suf |
工具 |
Utils |
StringUtils |
| suf |
异常 |
Exception |
RuntimeException |
| suf |
接口名 |
Impl |
UserServiceImpl |
| suf |
领域模型 |
DO/DTO/VO/DAO |
UserDAO |
| suf |
设计模式 |
Builder、Factory |
ThreadFactory |
|
处理特定功能 |
Handler、Predicate、Validator |
|
| suf |
测试 |
Test |
UserServiceTest |
| suf |
MVC分层 |
Controller、Service、ServiceImpl |