Skip to content

开发规范

Structure 社区的开发规范分为两层:通用规范(所有项目形态共用)与场景规范(按项目形态各有特殊之处)。

通用规范

所有项目形态都适用的规范:

模块文件核心内容
API 接口规范api-design.md统一响应、DTO/VO/Query、分页、Feign
数据模型设计规范data-model-design.md基础字段、Entity/PO、逻辑删除、Flyway
编码与命名规范coding-conventions.md命名、异常、注入、FastJSON、UserContext、事件、数据权限
参数校验validation.md验证注解、分组校验、自定义注解
Swagger 规范swagger.md文档生成、注解使用
Git 与开发流程git-workflow.md分支策略、约定式提交、变更分级、版本管理

场景规范

按项目形态选择,各有专属规范:

形态文件模块结构持久化模式
项目形态选型project-scaffolding.md选型决策树
单体常规monolith-conventional.md4 模块(api/biz/common/dependencies)Manager 模式
单体 DDDmonolith-ddd.md单应用内分层轻量或严格
分布式微服务distributed-microservice.md每服务单模块/4 模块按服务内部形态
分布式多模块 DDD 7+1ddd-architecture.md7+1 后端模块RepositoryFacade + Delegate + Entity/PO 分离

其他参考

模块文件核心内容
项目结构总览project-structure.md四种形态结构、枚举、异常、响应
依赖配置dependency-config.mdMaven 配置、组件版本、模块依赖
CRUD 模板crud-template.md单体常规的控制器 / 服务 / Manager 模板
组件集成component-integration.md日志 / Redis / MQ / 多租户等集成
研发团队指南team-guide.md环境、IDE 配置、Git Flow
完整规范(旧版)structure-projects-rule.md单体 4 模块全量规范,仅作历史参考

快速参考

命名规范速查

{业务}Entity              → 领域实体
{业务}PO                  → 持久化对象
{业务}Repository          → 仓储接口
{业务}RepositoryImpl      → 仓储实现
{业务}MybatisPlusDelegate → MyBatis 委托
I{业务}Service            → Service 接口
{业务}ServiceImpl         → Service 实现
{业务}Controller          → 控制器
{业务}Assembler           → 装配器
{业务}ExceptionEnum       → 错误码枚举

响应规范

java
ResultUtilSimpleImpl.success(data);
ResultUtilSimpleImpl.fail(code, message);

异常规范

java
throw new CommonException(枚举.getCode(), 枚举.getMessage());