一套面向 AI 辅助编码的开发规范文档,涵盖 Java / Kotlin / Python 后端技术栈,确保 AI 生成的代码风格统一、质量可控、可维护。
| 文档 | 说明 |
|---|---|
| Java 开发规范 | 命名、格式、OOP、并发、集合、异常日志等通用 Java 编码规范 |
| Kotlin 开发规范 | 源文件结构、命名、格式化、空安全、协程、作用域函数等 Kotlin 惯用规范 |
| Python 开发规范 | 工程结构、类型注解、异步编程、Pydantic、测试、安全等 Python 规范 |
| MySQL 数据库设计与开发规范 | 建表规约、索引规范、SQL 编写、ORM 映射等数据库规范 |
| Spring Boot + MyBatis Plus 后端开发规范 | 分层架构、Entity/Mapper/Service/Controller 层编码模板与约定 |
- 语言: Java 17+ / Kotlin / Python 3.10+
- 框架: Spring Boot 3.x / FastAPI / Flask
- ORM: MyBatis-Plus / SQLAlchemy / JPA
- 数据库: MySQL 8.0+
- 工具库: Lombok / Hutool / MapStruct / Pydantic
- 构建: Maven / Gradle / Poetry / pip
.
├── Java开发规范.md # Java 通用规范
├── kotlin开发规范.md # Kotlin 规范
├── Python开发规范.md # Python 规范
├── MySQL数据库设计与开发规范.md # 数据库规范
├── Spring Boot + MyBatis Plus 后端开发规范.md # 框架层规范
└── README.md
将本仓库作为 AI 编码助手的项目上下文(如 CLAUDE.md / GEMINI.md / AGENTS.md),或直接引用对应规范文件:
请遵循 Java开发规范.md 中的命名和代码格式要求,实现用户登录功能。
按照 Spring Boot + MyBatis Plus 后端开发规范.md 的分层模板,生成完整的 CRUD 模块。
根据 MySQL数据库设计与开发规范.md 的建表规约,设计订单模块的数据库表结构。
- 命名:大驼峰类名、小驼峰方法、全大写常量
- 格式:4 空格缩进、K&R 大括号、120 字符行宽
- OOP:POJO 用包装类型、构造不写业务逻辑、访问控制从严
- 并发:显式线程池、乐观/悲观锁、finally 释放资源
- 异常:不吞异常、finally 禁 return、优先自定义业务异常
- 日志:SLF4J 占位符、生产禁 debug、敏感信息脱敏
- 命名:全小写下划线、is_xxx 布尔字段、pk_/uk_/idx_ 索引前缀
- 建表:必须有 id / create_time / update_time / is_deleted
- 类型:decimal 替代 float/double、varchar 不超 5000、utf8mb4 字符集
- 索引:最左前缀、覆盖索引、禁止左模糊、EXPLAIN 检查执行计划
- SQL:禁 SELECT 、COUNT()、禁超过三表 JOIN、#{} 防注入
- 命名:大驼峰类名、小驼峰函数、全大写常量、幕后属性
_前缀 - 格式:4 空格缩进、K&R 花括号、尾部逗号、120 字符行宽
- 空安全:禁用
!!、优先?./?:/let、平台类型显式标注 - 协程:结构化并发、
withContext切换调度器、禁GlobalScope - 惯用法:优先
val不可变、默认参数替代重载、data class/sealed class
- 命名:小写下划线模块/函数、大驼峰类、全大写常量、单下划线私有
- 格式:4 空格缩进、120 字符行宽、按标准库/第三方/本地分组导入
- 类型:所有公开函数必须有类型注解和 docstring(Google/NumPy 风格)
- 异步:IO 密集用
async/await、CPU 密集用进程池、禁阻塞调用混入协程 - 质量:
black/ruff格式化、mypy类型检查、pytest测试、Pydantic 校验
- 分层:Controller → Service → Mapper,禁止跨层调用
- 注入:@RequiredArgsConstructor 构造器注入,禁 @Autowired 字段注入
- Entity:继承 Model、ASSIGN_ID 雪花主键、LocalDateTime 时间、@TableLogic 逻辑删除
- Service:继承 ServiceImpl、写操作加 @Transactional、LambdaQueryWrapper
- Controller:返回 R<T>、try-catch 统一异常、禁直接调用 Mapper
- 接口:RESTful 风格、名词复数、禁 URI 动词
MIT