做一次小小的备份,等会又删掉了
This commit is contained in:
43
READEME.md
43
READEME.md
@@ -41,6 +41,7 @@ junhong_cmp_fiber/
|
||||
│ ├── queue/ # 队列封装(Asynq)
|
||||
│ ├── response/ # 统一响应格式
|
||||
│ ├── errors/ # 错误码定义
|
||||
│ ├── constants/ # 常量定义(业务常量、Redis Key 管理)
|
||||
│ └── validator/ # 验证器封装
|
||||
│
|
||||
├── config/ # 配置文件(yaml)
|
||||
@@ -94,9 +95,26 @@ store.Transaction(ctx, func(tx *store.Store) error {
|
||||
|
||||
### 异步任务
|
||||
- 高频任务:批量状态同步、流量同步、实名检查
|
||||
- 业务任务:分佣计算、生命周期变更通知
|
||||
- 业务任务:分佣计算、生命周期变更通知
|
||||
- 任务优先级:critical > default > low
|
||||
|
||||
### 常量和 Redis Key 管理
|
||||
所有常量统一在 `pkg/constants/` 目录管理:
|
||||
```go
|
||||
// 业务常量
|
||||
constants.SIMStatusActive
|
||||
constants.SIMStatusInactive
|
||||
|
||||
// Redis Key 管理(统一使用 Key 生成函数)
|
||||
constants.RedisSIMStatusKey(iccid) // sim:status:{iccid}
|
||||
constants.RedisAgentCommissionKey(agentID) // agent:commission:{agentID}
|
||||
constants.RedisTaskLockKey(taskName) // task:lock:{taskName}
|
||||
|
||||
// 使用示例
|
||||
key := constants.RedisSIMStatusKey("898600...")
|
||||
rdb.Set(ctx, key, status, time.Hour)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 快速开始
|
||||
@@ -324,19 +342,16 @@ go run cmd/worker/main.go
|
||||
# 3. 生成实现计划(包含技术调研和设计)
|
||||
/speckit.plan
|
||||
|
||||
# 4. 分析一致性(可选,验证规划质量)
|
||||
/speckit.analyze
|
||||
|
||||
# 5. 生成任务列表
|
||||
# 4. 生成任务列表
|
||||
/speckit.tasks
|
||||
|
||||
# 6. 再次分析一致性(推荐)
|
||||
# 5. 再次分析一致性(推荐)
|
||||
/speckit.analyze
|
||||
|
||||
# 7. 执行实现
|
||||
# 6. 执行实现
|
||||
/speckit.implement
|
||||
|
||||
# 8. 代码审查和合并
|
||||
# 7. 代码审查和合并
|
||||
# - 验证宪章符合性
|
||||
# - 确保所有测试通过
|
||||
# - 检查代码覆盖率
|
||||
@@ -373,7 +388,7 @@ go run cmd/worker/main.go
|
||||
- ✅ 确保数据库索引支持查询
|
||||
|
||||
#### API 设计
|
||||
- ✅ 使用统一 JSON 响应格式(code/message/data/timestamp)
|
||||
- ✅ 使用统一 JSON 响应格式(code/msg/data/timestamp)
|
||||
- ✅ 错误消息中英文双语
|
||||
- ✅ 时间字段使用 ISO 8601 格式
|
||||
- ✅ 金额字段使用整数(分)
|
||||
@@ -407,17 +422,17 @@ specs/
|
||||
|
||||
### 常见问题
|
||||
|
||||
**Q: 为什么要使用 Speckit?**
|
||||
**Q: 为什么要使用 Speckit?**
|
||||
A: Speckit 确保团队遵循统一的开发流程,减少沟通成本,提高代码质量和可维护性。
|
||||
|
||||
**Q: 可以跳过某些步骤吗?**
|
||||
**Q: 可以跳过某些步骤吗?**
|
||||
A: 不推荐。每个步骤都有明确目的,跳过可能导致需求不清、架构不合理或测试不足。
|
||||
|
||||
**Q: 如何处理紧急修复?**
|
||||
**Q: 如何处理紧急修复?**
|
||||
A: 小型修复可以简化流程,但仍需遵循宪章原则(技术栈、测试、代码质量)。
|
||||
|
||||
**Q: 宪章可以修改吗?**
|
||||
**Q: 宪章可以修改吗?**
|
||||
A: 可以,使用 `/speckit.constitution` 修改。修改需要团队共识,并会自动同步所有模板。
|
||||
|
||||
**Q: 测试覆盖率达不到 70% 怎么办?**
|
||||
**Q: 测试覆盖率达不到 70% 怎么办?**
|
||||
A: 核心业务逻辑必须达到 90%+。工具函数、简单的 getter/setter 可以适当放宽,但总体必须 > 70%。
|
||||
|
||||
Reference in New Issue
Block a user