3.1 KiB
3.1 KiB
Java 命名规范
规则
-
包名(Package):
- 全部小写,使用反斜杠分隔层级。
- 格式:
com.公司名.项目名.模块名 - 示例:
com.example.order.service
-
类名(Class):
- 使用大驼峰命名法(UpperCamelCase)。
- 名词或名词短语。
- 示例:
UserService、OrderController、DatabaseConfig
-
接口名(Interface):
- 使用大驼峰命名法(UpperCamelCase)。
- 通常以
Interface结尾(可选,根据团队规范)。 - 示例:
PaymentServiceInterface或PaymentService
-
抽象类名(Abstract Class):
- 使用大驼峰命名法(UpperCamelCase)。
- 以
Abstract开头。 - 示例:
AbstractBaseController、AbstractEventHandler
-
枚举名(Enum):
- 使用大驼峰命名法(UpperCamelCase)。
- 示例:
OrderStatus、UserRole
-
变量名(Variable):
- 使用小驼峰命名法(camelCase)。
- 见名知意,避免缩写(如
userList而非ul)。 - 示例:
userName、orderList、isActive
-
常量名(Constant):
- 全部大写,单词间用下划线分隔。
- 使用
static final修饰。 - 示例:
MAX_RETRY_COUNT、DEFAULT_PAGE_SIZE
-
方法名(Method):
- 使用小驼峰命名法(camelCase)。
- 动词或动词短语开头。
- 示例:
getUserById、createOrder、isValid
-
布尔变量与方法:
- 布尔变量以
is、has、can、should开头。 - 示例:
isEnabled、hasPermission、canDelete - Getter 方法:布尔类型使用
is前缀(如isEnabled()),其他类型使用get前缀。
- 布尔变量以
-
异常类名(Exception):
- 以
Exception结尾。 - 示例:
UserNotFoundException、OrderProcessingException
- 以
-
测试类名(Test Class):
- 以
Test结尾或开头。 - 示例:
UserServiceTest、TestOrderService
- 以
-
集合变量名:
- 使用复数形式或添加
List、Map、Set后缀。 - 示例:
users、userList、orderMap
- 使用复数形式或添加
示例
正确示例
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;
}
}
错误示例
package com.example.order; // 包名缺少层级
public class orderservice { // 类名未使用大驼峰
private int maxretrycount = 3; // 常量未大写
public List<Order> getorder() { // 方法名未使用小驼峰
return orderRepository.findAll();
}
}
适用范围
- 所有 Java 项目代码
- Spring Boot 后端服务
- Java 单元测试