Files
kami_merchant/.cursor/rules/golang-ddd-rules.mdc

108 lines
2.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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 管理依赖
- 定期更新依赖版本
- 依赖版本锁定
- 依赖安全检查
## 部署规范
- 容器化部署
- 环境配置管理
- 服务编排
- 监控告警配置