Files
skills/java-spec/references/nameing-convention.md
T
2026-09-26 16:09:11 +08:00

97 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 命名规范
良好的命名规范,能够大幅提升可读性、维护性,避开生僻单词!**言简意赅始终是最佳选择。**
## Java源码的基础命名规范
| 类型 | 命名规范 | 示例 |
| --- | --- | --- |
| 局部变量 | 小驼峰 | `name`、`userName` |
| 静态常量 | 英文大写、单词与单词之间下划线连缀 | `ELEMENT_TYPE` |
| 方法名 | 使用动词、小驼峰 | `doLogin`、`execute` |
| 类名 | 使用名词或形容词、大驼峰 | `UserInfo` |
| 数据库 ORM 实体类 | 在类名的基础上增加 `Entity` 后缀 | `UserInfoEntity` |
| 数据传输对象(Data Transfer Object,简称 DTO) | 在类名的基础上增加 `DTO` 后缀 | `UserInfoDTO` |
| 视图对象(View Object,简称 VO) | 在类名的基础上增加 `VO` 后缀 | `UserInfoVO` |
## 缩写命名示例
|命名|含义|
|---|---|
|etc|配置文件(etcetera)|
|usr|用户系统资源(user system resources)|
|opt|可选(optional)|
|tmp|临时(temporary)|
|boot|启动相关|
|sys|系统( system)|
|ctl|控制(control)|
|sync|同步(synchronize)|
|cfg|配置(config)|
|conf|配置文件(configuration)|
|do|执行|
这些命名短小、可读,几十年里保持了一致性、可预测性、简洁性,让人看到名字就能大致猜到用途。
## Spring的命名
### 常见类名后缀
| 后缀 | 含义 | 示例 |
|---|---|---|
| `Controller` | 控制器 | `UserController` |
| `Service` | 服务 | `UserService` |
| `ServiceImpl` | 服务实现 | `UserServiceImpl` |
| `Repository` | 仓储/DAO | `UserRepository` |
| `Mapper` | MyBatis 映射器 | `UserMapper` |
| `DAO` | 数据访问对象 | `UserDAO` |
| `Config` | 配置类 | `WebConfig` |
| `Properties` | 配置属性 | `JwtProperties` |
| `Filter` | 过滤器 | `AuthFilter` |
| `Interceptor` | 拦截器 | `LoginInterceptor` |
| `Advice` | 增强/通知 | `GlobalExceptionAdvice` |
| `Aspect` | 切面 | `LogAspect` |
| `Listener` | 监听器 | `OrderListener` |
| `Handler` | 处理器 | `GlobalExceptionHandler` |
| `Factory` | 工厂 | `BeanFactory` |
| `Builder` | 构建器 | `RequestBuilder` |
| `Converter` | 转换器 | `UserConverter` |
| `Validator` | 校验器 | `UserValidator` |
| `Template` | 模板 | `JdbcTemplate` |
| `Client` | 客户端 | `FeignClient` |
| `DTO` | 数据传输对象 | `UserDTO` |
| `VO` | 值对象/视图对象 | `UserVO` |
| `Entity` | 实体 | `UserEntity` |
| `Request` | 请求对象 | `LoginRequest` |
| `Response` | 响应对象 | `LoginResponse` |
| `Exception` | 异常 | `BizException` |
| `Enum` | 枚举 | `OrderStatusEnum` |
| `Util` | 工具类 | `DateUtil` |
| `Constant` | 常量类 | `RedisConstant` |
| `Test` | 测试类 | `UserServiceTest` |
### 常见方法命名
| 命名 | 含义 |
|---|---|
| `findById` | 按 ID 查询 |
| `findAll` | 查询全部 |
| `getUserById` | 获取用户 |
| `save` | 保存 |
| `saveAll` | 批量保存 |
| `update` | 更新 |
| `deleteById` | 按 ID 删除 |
| `existsById` | 判断是否存在 |
| `count` | 统计数量 |
| `createOrder` | 创建订单 |
| `cancelOrder` | 取消订单 |
| `handleException` | 处理异常 |
| `validateToken` | 校验令牌 |
| `loadUserByUsername` | 按用户名加载用户 |
| `findByUsername` | 按用户名查询 |
| `findByUsernameAndStatus` | 按用户名和状态查询 |
| `findByAgeGreaterThan` | 年龄大于 |
| `findByCreateTimeBetween` | 创建时间在区间内 |
| `findByUsernameContaining` | 用户名包含 |
| `findByStatusOrderByCreateTimeDesc` | 按状态查并倒序 |
| `deleteByUsername` | 按用户名删除 |
| `countByStatus` | 按状态统计 |