Appearance
目录文件规范
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/mapper | mybatis.xml 对应函数 |
entity | 数据库实体 |
enums | 枚举 |
model | 实体 |
model/config | 配置文件的实体 |
model/view | 视图实体 |
service | 服务层接口 |
serviceImpl | 服务层实现 |
utils | 自定义工具 |
1.4 资源目录规范
目录名称 | 作用(以子目录区分模块) |
---|---|
config | 模块项目配置文件 |
file | 各模块文件 |
mapper | Mybatis 的 mapper.xml 数据库文件 |
static | 静态文件 |
templates | 模板 |
application.yml | 程序配置 |
banner.txt | 控制台启动 logo |
favicon.ico | 项目 logo |
hibernate.properties | Hibernate 配置 |
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
- try/catch 的慎用 影响业务的异常应向上抛,而不应该内部解决吃掉异常,异常应该在 aop 抓取
- 代码层次规范 慎用 Controller 实现业务逻辑,影响业务逻辑的共用,造成代码杂乱
- 其他
- 静态变量、静态函数额慎用
- lombok 继承对象时,需要深度继承,否则,toString()、equals()会有实际偏差
- 尽可能 private 私有函数对象等
1.9 参考文档
- 阿里巴巴 Java 开发手册:https://pan.baidu.com/s/1o8RSlaa
- 阿里规范插件安装手册:https://juejin.im/post/59e2e0bd6fb9a0450d101de9
- Java 规范:https://juejin.im/post/5a30e8dc518825569539a456
- API 接口规范完整版本:https://juejin.im/entry/577090792e958a00573c7e88
- 前端 VUE 目录规范文档: https://juejin.im/post/5ab357e66fb9a028b92d0c59
- 阿里开源项目:https://github.com/alibaba