Skip to content

目录文件规范

1.1 根目录规范

分组 + 预览

目录名称作用
base基础类型模块,共用继承
common通用模块,全局组件
config配置模块,@configuration 配置
modules自定义模块,项目模块

1.2 通用组件目录规范

分组 + 预览

目录名称作用
annotation自定义注解,类前@xxx
aop自定义切片
constant全局常量,接口类型,魔法值
enums全局枚举
excepton自定义异常
limit自定义限制
lock自定义锁
model全局实体
model/config读取配置文件的实体
model/view视图实体
utils自定义全局工具

1.3 自定义模块、项目目录规范

分组 + 预览

目录名称作用(项目/模块)
constant常量,接口类型,魔法值
controller接口
dao数据库原子操作
dao/mappermybatis.xml 对应函数
entity数据库实体
enums枚举
model实体
model/config配置文件的实体
model/view视图实体
service服务层接口
serviceImpl服务层实现
utils自定义工具

1.4 资源目录规范

分组 + 预览

目录名称作用(以子目录区分模块)
config模块项目配置文件
file各模块文件
mapperMybatis 的 mapper.xml 数据库文件
static静态文件
templates模板
application.yml程序配置
banner.txt控制台启动 logo
favicon.ico项目 logo
hibernate.propertiesHibernate 配置
logback-spting.xml日志配置

1.5 文件命名规范

一眼看出文件的作用,什么类型文件以什么结尾,文件夹为后缀

  • 数据库对象 Entity
  • 对象 Model
  • 视图对象 ViewModel
  • 配置文件对象 ConfigModel
  • 全局静态 Constant
  • 枚举 Enum
  • 接口 Controller
  • 服务层 Service
  • 服务层实现 ServiceImpl
  • 数据访问层 Dao
  • myBatis 文件 Mapper
  • 生成器 Generator
  • 配置 Config
  • 工具类 Utils
  • 切片 Aspect
  • 异常 Exception

1.6 变量命名规范(小写驼峰)

  • 普通变量:小写驼峰
  • 全局静态常量:大写 分组 + 预览
  • 枚举:全大写
  • 分组 + 预览

1.7 函数命名规范(小写驼峰)

一、文件注释

java
/**
 * 描述.
 * @author 名字
 * @date ${DATE} ${TIME}
 * @version 1.0.0
 */

分组 + 预览 二、函数注释

  • 函数作用
  • 入参
  • 返回结果 分组 + 预览 三、代码注释 行前注释

1.8 代码规范

快捷键

  • 整理代码:CTRL+ALT+L
  • 整理引包:CTRL+ALT+O
  • 折叠代码:CTRL+ALT+T
  1. try/catch 的慎用 影响业务的异常应向上抛,而不应该内部解决吃掉异常,异常应该在 aop 抓取分组 + 预览
  2. 代码层次规范 慎用 Controller 实现业务逻辑,影响业务逻辑的共用,造成代码杂乱分组 + 预览
  3. 其他
  • 静态变量、静态函数额慎用
  • lombok 继承对象时,需要深度继承,否则,toString()、equals()会有实际偏差
  • 尽可能 private 私有函数对象等

1.9 参考文档