新增 Golang DDD 项目规范指南,包含项目架构、代码规范、分布式支持、监控与可观测性、错误处理、测试规范等内容,以提升项目开发的一致性和可维护性。
This commit is contained in:
107
.cursor/rules/golang-ddd-rules.mdc
Normal file
107
.cursor/rules/golang-ddd-rules.mdc
Normal 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 管理依赖
|
||||
- 定期更新依赖版本
|
||||
- 依赖版本锁定
|
||||
- 依赖安全检查
|
||||
|
||||
## 部署规范
|
||||
- 容器化部署
|
||||
- 环境配置管理
|
||||
- 服务编排
|
||||
- 监控告警配置
|
||||
Reference in New Issue
Block a user