Files
2026-06-24 18:32:50 +08:00

3.1 KiB
Raw Permalink Blame History

Java 命名规范

规则

  1. 包名(Package

    • 全部小写,使用反斜杠分隔层级。
    • 格式:com.公司名.项目名.模块名
    • 示例:com.example.order.service
  2. 类名(Class

    • 使用大驼峰命名法(UpperCamelCase)。
    • 名词或名词短语。
    • 示例:UserServiceOrderControllerDatabaseConfig
  3. 接口名(Interface

    • 使用大驼峰命名法(UpperCamelCase)。
    • 通常以 Interface 结尾(可选,根据团队规范)。
    • 示例:PaymentServiceInterfacePaymentService
  4. 抽象类名(Abstract Class

    • 使用大驼峰命名法(UpperCamelCase)。
    • Abstract 开头。
    • 示例:AbstractBaseControllerAbstractEventHandler
  5. 枚举名(Enum

    • 使用大驼峰命名法(UpperCamelCase)。
    • 示例:OrderStatusUserRole
  6. 变量名(Variable

    • 使用小驼峰命名法(camelCase)。
    • 见名知意,避免缩写(如 userList 而非 ul)。
    • 示例:userNameorderListisActive
  7. 常量名(Constant

    • 全部大写,单词间用下划线分隔。
    • 使用 static final 修饰。
    • 示例:MAX_RETRY_COUNTDEFAULT_PAGE_SIZE
  8. 方法名(Method

    • 使用小驼峰命名法(camelCase)。
    • 动词或动词短语开头。
    • 示例:getUserByIdcreateOrderisValid
  9. 布尔变量与方法

    • 布尔变量以 ishascanshould 开头。
    • 示例:isEnabledhasPermissioncanDelete
    • Getter 方法:布尔类型使用 is 前缀(如 isEnabled()),其他类型使用 get 前缀。
  10. 异常类名(Exception

    • Exception 结尾。
    • 示例:UserNotFoundExceptionOrderProcessingException
  11. 测试类名(Test Class

    • Test 结尾或开头。
    • 示例:UserServiceTestTestOrderService
  12. 集合变量名

    • 使用复数形式或添加 ListMapSet 后缀。
    • 示例:usersuserListorderMap

示例

正确示例

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 单元测试