新增 Golang DDD 项目规范指南,包含项目架构、代码规范、分布式支持、监控与可观测性、错误处理、测试规范等内容,以提升项目开发的一致性和可维护性。

This commit is contained in:
danial
2025-05-15 23:43:15 +08:00
parent a55e2bbd9e
commit 3434437412

View File

@@ -0,0 +1,107 @@
---
description:
globs:
alwaysApply: false
---
# Golang DDD 项目规范指南
## 项目架构规范
### 1. 技术栈要求
- 使用 Golang 作为主要开发语言
- 使用 Beego 作为 Web 框架
- 代码必须通过 golint 和 golangci-lint 检查
- 遵循 DDD (Domain-Driven Design) 架构模式
### 2. 目录结构规范
```
internal/
├── domain/ # 领域层
│ ├── entity/ # 领域实体
│ ├── repository/ # 仓储接口
│ └── service/ # 领域服务
├── infrastructure/ # 基础设施层
│ ├── persistence/ # 持久化实现
│ ├── messaging/ # 消息队列
│ └── cache/ # 缓存实现
├── application/ # 应用层
│ ├── dto/ # 数据传输对象
│ ├── service/ # 应用服务
│ └── assembler/ # DTO转换器
├── interfaces/ # 接口层
│ ├── http/ # HTTP接口
│ ├── grpc/ # gRPC接口
│ └── middleware/ # 中间件
└── common/ # 公共组件
├── config/ # 配置管理
├── logger/ # 日志管理
└── utils/ # 工具函数
```
### 3. 代码规范
- 所有代码必须放在 `internal` 目录下
- 遵循 Go 标准项目布局
- 使用接口进行依赖倒置
- 每个包必须有清晰的职责划分
- 使用依赖注入管理依赖关系
### 4. 分布式支持
- 支持分布式部署
- 实现优雅关闭机制
- 支持 Kubernetes 和 Docker Swarm 部署
- 实现分布式链路追踪
- 支持服务注册与发现
### 5. 监控和可观测性
- 集成 Prometheus 指标收集
- 实现健康检查接口
- 支持分布式追踪(如 Jaeger
- 完善的日志记录系统
### 6. 错误处理
- 使用自定义错误类型
- 统一的错误处理机制
- 错误码规范
- 错误日志记录规范
### 7. 测试规范
- 单元测试覆盖率要求 > 80%
- 集成测试覆盖关键业务流程
- 性能测试基准
- 测试用例命名规范
### 8. 文档规范
- API 文档使用 Swagger
- 代码注释规范
- 架构文档维护
- 部署文档更新
### 9. 安全规范
- 敏感配置加密
- 接口认证授权
- 数据加密传输
- 防注入攻击
### 10. 性能规范
- 接口响应时间要求
- 并发处理能力
- 资源使用限制
- 缓存策略
## 开发流程
1. 遵循 Git Flow 工作流
2. 代码审查要求
3. CI/CD 流程
4. 版本发布规范
## 依赖管理
- 使用 Go Modules 管理依赖
- 定期更新依赖版本
- 依赖版本锁定
- 依赖安全检查
## 部署规范
- 容器化部署
- 环境配置管理
- 服务编排
- 监控告警配置