常用规则

This commit is contained in:
2026-06-24 18:32:50 +08:00
parent 00450e7602
commit 1887360cd4
7 changed files with 711 additions and 1 deletions
+108
View File
@@ -0,0 +1,108 @@
# Java 命名规范
## 规则
1. **包名(Package**
- 全部小写,使用反斜杠分隔层级。
- 格式:`com.公司名.项目名.模块名`
- 示例:`com.example.order.service`
2. **类名(Class**
- 使用大驼峰命名法(UpperCamelCase)。
- 名词或名词短语。
- 示例:`UserService``OrderController``DatabaseConfig`
3. **接口名(Interface**
- 使用大驼峰命名法(UpperCamelCase)。
- 通常以 `Interface` 结尾(可选,根据团队规范)。
- 示例:`PaymentServiceInterface``PaymentService`
4. **抽象类名(Abstract Class**
- 使用大驼峰命名法(UpperCamelCase)。
-`Abstract` 开头。
- 示例:`AbstractBaseController``AbstractEventHandler`
5. **枚举名(Enum**
- 使用大驼峰命名法(UpperCamelCase)。
- 示例:`OrderStatus``UserRole`
6. **变量名(Variable**
- 使用小驼峰命名法(camelCase)。
- 见名知意,避免缩写(如 `userList` 而非 `ul`)。
- 示例:`userName``orderList``isActive`
7. **常量名(Constant**
- 全部大写,单词间用下划线分隔。
- 使用 `static final` 修饰。
- 示例:`MAX_RETRY_COUNT``DEFAULT_PAGE_SIZE`
8. **方法名(Method**
- 使用小驼峰命名法(camelCase)。
- 动词或动词短语开头。
- 示例:`getUserById``createOrder``isValid`
9. **布尔变量与方法**
- 布尔变量以 `is``has``can``should` 开头。
- 示例:`isEnabled``hasPermission``canDelete`
- Getter 方法:布尔类型使用 `is` 前缀(如 `isEnabled()`),其他类型使用 `get` 前缀。
10. **异常类名(Exception**
-`Exception` 结尾。
- 示例:`UserNotFoundException``OrderProcessingException`
11. **测试类名(Test Class**
-`Test` 结尾或开头。
- 示例:`UserServiceTest``TestOrderService`
12. **集合变量名**
- 使用复数形式或添加 `List``Map``Set` 后缀。
- 示例:`users``userList``orderMap`
## 示例
### 正确示例
```java
package com.example.order.service;
public class OrderService implements OrderServiceInterface {
private static final int MAX_RETRY_COUNT = 3;
private static final int DEFAULT_PAGE_SIZE = 10;
private final OrderRepository orderRepository;
public List<Order> getAllOrders() {
return orderRepository.findAll();
}
public Optional<Order> getOrderById(Long id) {
return orderRepository.findById(id);
}
public boolean isValidOrder(Order order) {
return order != null && order.getAmount() > 0;
}
}
```
### 错误示例
```java
package com.example.order; // 包名缺少层级
public class orderservice { // 类名未使用大驼峰
private int maxretrycount = 3; // 常量未大写
public List<Order> getorder() { // 方法名未使用小驼峰
return orderRepository.findAll();
}
}
```
## 适用范围
- 所有 Java 项目代码
- Spring Boot 后端服务
- Java 单元测试