Skip to content

编码规范

本篇汇总 Java、Vue、SQL 三端的命名规范、注释规范和格式化要求。你在编写任何代码前都应遵循这些约定。

Java 规范

命名

类型规则示例
类名UpperCamelCaseSysUserController
方法名lowerCamelCasegetUserById
变量名lowerCamelCaseuserId
常量UPPER_SNAKE_CASEMAX_PAGE_SIZE
包名全小写com.mdframe.forge.admin
枚举值UPPER_SNAKE_CASEStatusEnum.ENABLED

注释

  • 类级注释:使用 Javadoc,说明类的职责
  • 公共方法:必须有 Javadoc,包含 @param@return
  • 复杂逻辑:行内注释说明为什么,而非做了什么
java
/**
 * 用户服务,负责用户 CRUD 和权限分配
 */
public interface SysUserService {
    /**
     * 分页查询用户
     * @param query 查询条件
     * @return 分页结果
     */
    PageResult<SysUserVO> page(PageQuery query);
}

格式化

  • 缩进:4 个空格
  • 行宽:不超过 120 字符
  • import:禁止通配符 import xxx.*

Vue 规范

命名

类型规则示例
组件文件PascalCaseDictSelect.vue
组件名PascalCase<DictSelect />
组合式函数camelCase,use 前缀useDict
PropscamelCasedictType
事件kebab-case@value-change
CSS 类kebab-caseuser-card

结构

vue
<script setup lang="ts">
import { ref, computed } from 'vue'
// 1. 导入
// 2. Props / Emits
// 3. 响应式数据
// 4. 计算属性
// 5. 方法
// 6. 生命周期
</script>

<template>
  <!-- 模板 -->
</template>

<style scoped lang="scss">
/* 样式 */
</style>

SQL 规范

命名

类型规则示例
表名小写 + 下划线,带前缀sys_userbiz_order
字段名小写 + 下划线create_time
索引名idx_ 前缀idx_user_name
唯一索引uk_ 前缀uk_tenant_username

格式化

  • 关键字大写:SELECTFROMWHERE
  • 缩进:每个条件独占一行,对齐
  • 参数化查询:使用 #{param},禁止 ${param} 拼接
sql
SELECT id, username, nickname, status
FROM sys_user
WHERE del_flag = 0
  AND tenant_id = #{tenantId}
  AND status = #{status}
ORDER BY create_time DESC

通用约定

  • 字符编码统一 UTF-8
  • 换行符使用 LF
  • 文件末尾保留一个空行
  • 禁止提交 IDE 配置文件(.idea/.vscode/

Forge Admin — 基于 Vue3 + Spring Boot 的企业级后台管理框架