DukeDuke
主页
项目文档
技术文档
  • 单机版
  • 微服务
  • 代办项目
  • 优鲜项目
项目管理
关于我们
主页
项目文档
技术文档
  • 单机版
  • 微服务
  • 代办项目
  • 优鲜项目
项目管理
关于我们
  • 文档

    • 各系统介绍
    • 项目风险评估
    • 项目开发计划
    • 项目需求文档
    • 项目开发规范

      • Java开发规范
      • 数据库开发规范
      • 系统架构设计规范
    • 项目进度报告
    • 概要设计说明书
    • 详细设计说明书
    • 部署文档
    • 用户手册
    • 运维手册

Java 开发规范

1. 命名规范

1.1 通用规则

  • 禁止使用拼音或拼音英文混合
  • 禁止使用特殊字符($、_除外)
  • 禁止使用保留字/关键字
  • 见名知意,避免歧义

1.2 具体规范

类型规范示例
类/接口大驼峰式UserService
方法/变量小驼峰式getUserInfo()
常量全大写+下划线分割MAX_CONNECTION
枚举类全大写命名(单数形式)OrderStatus
包名全小写+反向域名com.company.module
布尔变量以 is/has/can 等开头isAvailable

2. 代码格式

2.1 基础规范

  • 使用 4 个空格缩进(禁用 Tab)
  • 单行字符数不超过 120
  • 方法参数之间保留一个空格
  • 大括号使用 K&R 风格

2.2 空行规则

  • 方法之间添加空行
  • 不同逻辑段之间添加空行
  • 成员变量与方法之间添加空行

2.3 换行规则

// 正例
StringBuilder sb = new StringBuilder()
    .append("first")
    .append("second");

// 反例:参数过多不换行
methodWithTooManyParams(param1, param2, param3, param4, param5);

3. 注释规范

3.1 类注释

/**
 * 用户服务类
 * @author Name
 * @date 2023-08-15
 * @version 1.0
 */
public class UserService {
    // ...
}

3.2 方法注释

/**
 * 获取用户详细信息
 * @param userId 用户ID(必须大于0)
 * @return 用户实体对象,找不到时返回null
 * @throws IllegalArgumentException 参数不合法时抛出
 */
public User getUserById(long userId) {
    // ...
}

4. 异常处理

4.1 基本原则

  • 禁用 try-catch 吞掉异常
  • 自定义异常需继承 RuntimeException
  • 异常信息需包含上下文信息

4.2 最佳实践

// 正例:记录完整异常信息
try {
    // ...
} catch (IOException e) {
    log.error("文件读取失败,文件路径:{}", filePath, e);
    throw new BizException("文件处理失败");
}

// 反例:吞掉异常
try {
    // ...
} catch (Exception e) {
    // 无处理
}

5. 日志规范

5.1 日志级别

  • ERROR:需要人工介入处理的错误
  • WARN:预期外的参数传递或临时性问题
  • INFO:重要业务流程日志
  • DEBUG:调试信息

5.2 日志格式要求

// 正例:使用占位符
log.info("用户[{}]登录成功,IP地址:[{}]", userId, ipAddress);

// 反例:字符串拼接
log.info("用户" + userId + "登录成功");

6. 性能规范

6.1 集合处理

  • 初始化集合时指定容量
  • 避免在循环中执行 SQL 操作
  • 使用 entrySet 遍历 Map

6.2 字符串处理

  • 字符串拼接使用 StringBuilder
  • 优先使用 StringUtils.isEmpty()

7. 安全规范

7.1 SQL 安全

  • 必须使用预编译 Statement
  • 禁止拼接 SQL 语句

7.2 输入校验

  • 前端输入参数必须校验
  • 敏感数据必须过滤特殊字符
最近更新:: 2025/8/14 09:20
Contributors: Duke
Next
数据库开发规范