refactor: 重构代码减少any类型使用,增加类型定义 fix: 修复TypeScript编译错误和类型不匹配问题 docs: 更新代码审查修复总结文档 style: 优化代码格式和注释 perf: 添加性能优化工具函数和虚拟滚动组件 test: 完善测试相关配置和类型定义 build: 更新package-lock.json文件
6.8 KiB
6.8 KiB
代码审查修复任务
任务列表
| Task ID | 闭环关联 | 任务描述 | 输入 | 输出 | 触发条件 | 状态 | 优先级 | 依赖 | 预计耗时 | 负责人 | 完成时间 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| BE-CR001 | 代码质量闭环 | 修复 TypeScript 编译错误(400+) | 错误列表 | 编译通过 | 代码审查 | ✅ completed | P0 | - | 16h | AI-Backend-1 | 2026-03-22 |
| BE-CR002 | 代码质量闭环 | 修复金额字段类型(51 处 float/double → decimal) | 违规文件列表 | 数据库表更新 | 代码审查 | ✅ completed | P0 | - | 4h | AI-Backend-1 | 2026-03-20 |
| BE-CR003 | 安全闭环 | 移除 VaultCrypto 默认密钥硬编码 | VaultCrypto.ts | 安全密钥管理 | 代码审查 | ✅ completed | P0 | - | 1h | AI-Backend-1 | 2026-03-20 |
| BE-CR004 | 功能闭环 | 完成核心 TODO 项(商品/订单同步) | TODO 列表 | 功能实现 | 代码审查 | ✅ completed | P1 | - | 8h | AI-Backend-1 | 2026-03-25 |
| BE-CR005 | 类型安全闭环 | 减少 any 类型使用(43 处) |
违规文件列表 | 类型定义完善 | 代码审查 | 🔒 claimed | P1 | - | 6h | AI-Backend-1 | 2026-03-25 |
| BE-CR006 | 日志规范闭环 | 统一 logger 使用(86 处 console.log) | 违规文件列表 | 日志统一 | 代码审查 | 🔒 claimed | P1 | - | 3h | AI-Backend-1 | 2026-03-24 |
| BE-CR007 | 输入验证闭环 | 完善输入参数验证 | API 路由列表 | Zod 验证 | 代码审查 | 🔒 claimed | P2 | - | 12h | AI-Backend-1 | 2026-04-10 |
| BE-CR008 | 性能优化闭环 | 优化数据库查询索引 | 慢查询日志 | 索引优化 | 性能监控 | 🔒 claimed | P2 | - | 8h | AI-Backend-1 | 2026-04-15 |
| BE-CR009 | 测试覆盖闭环 | 补充单元测试覆盖率 | 测试报告 | 测试用例 | 代码审查 | 🔒 claimed | P2 | - | 20h | AI-Backend-1 | 2026-04-20 |
相关闭环
- 代码质量闭环
- 安全闭环
- 功能闭环
- 类型安全闭环
- 日志规范闭环
- 输入验证闭环
- 性能优化闭环
- 测试覆盖闭环
依赖关系
- BE-CR001 是基础任务,无依赖
- BE-CR002 无依赖
- BE-CR003 无依赖
- BE-CR004 无依赖
- BE-CR005 无依赖
- BE-CR006 无依赖
- BE-CR007 依赖 BE-CR001
- BE-CR008 依赖 BE-CR001
- BE-CR009 依赖 BE-CR001
任务详情
BE-CR001: 修复 TypeScript 编译错误
问题描述: Server 模块存在 400+ 个 TypeScript 编译错误,导致项目无法正常构建。
影响文件:
src/services/*.ts(100+ 文件)src/domains/**/*.ts(50+ 文件)src/core/**/*.ts(30+ 文件)
错误类型分布:
- 类型不匹配错误: ~40%
- 缺少类型声明: ~30%
- 导入/导出错误: ~20%
- 其他语法错误: ~10%
验收标准:
- ✅ 运行
npm run check无错误 - ✅ 项目能够成功编译
- ✅ 无 TypeScript 类型错误
- ✅ 所有导入导出正确
实施步骤:
- 运行
npm run check获取完整错误列表 - 按模块分批修复,优先修复核心服务(Trade/Billing/Arbitrage)
- 添加缺失的类型声明文件
- 统一模块导入规范
BE-CR002: 修复金额字段类型
问题描述: 根据项目规则 1.1,金额字段必须使用 decimal(10,2),但发现多处使用 float/double。
违规文件列表:
| 文件路径 | 行号 | 违规代码 |
|---|---|---|
src/services/ProductService.ts |
53 | table.double('rating') |
src/core/runtime/LegacyTableInitializer.ts |
321-322 | table.float('daily_budget') |
src/domains/Arbitrage/ArbitrageService.ts |
98-99 | table.float('initial_profit_rate') |
src/domains/Billing/SLAGovernanceService.ts |
108 | table.float('p95_latency_ms') |
src/services/FXHedgingService.ts |
40 | table.float('volatility') |
验收标准:
- ✅ 所有金额字段使用
decimal(10,2) - ✅ 数据库表结构更新完成
- ✅ 迁移脚本执行成功
- ✅ 无数据丢失
实施步骤:
- 识别所有使用 float/double 的金额字段
- 创建数据库迁移脚本
- 更新表结构定义
- 执行迁移并验证数据完整性
BE-CR003: 移除 VaultCrypto 默认密钥硬编码
问题描述: VaultCrypto.ts 中存在默认主密钥硬编码,如果环境变量未设置,将使用可预测的默认密钥,严重危及凭证安全。
文件: server/src/utils/VaultCrypto.ts
行号: 9
验收标准:
- ✅ 移除默认密钥硬编码
- ✅ 环境变量缺失时抛出明确错误
- ✅ 添加密钥验证逻辑
- ✅ 通过安全测试
实施步骤:
- 修改
MASTER_KEY获取逻辑 - 添加环境变量验证
- 更新相关文档
- 测试密钥管理流程
BE-CR004: 完成核心 TODO 项
问题描述: 发现 30 个 TODO/FIXME 注释,部分涉及核心功能缺失。
关键遗留项:
| 文件 | 行号 | 描述 | 优先级 |
|---|---|---|---|
OperationAgentService.ts |
118 | 商品同步到数据库 | P0 |
OperationAgentService.ts |
167 | 订单同步到数据库 | P0 |
PlatformApiService.ts |
204-214 | Amazon SP-API 同步 | P1 |
dynamicPricing.ts |
261 | analyzeCompetitorPrices 方法 | P1 |
SummaryAggregationService.ts |
125-126 | 真实成本/利润接入 | P1 |
验收标准:
- ✅ 所有 P0 级别 TODO 完成
- ✅ 商品同步功能实现
- ✅ 订单同步功能实现
- ✅ 核心功能测试通过
BE-CR005: 减少 any 类型使用
问题描述: Dashboard 模块中存在 43 处 any 类型使用,削弱了 TypeScript 的类型安全。
验收标准:
- ✅ 减少
any类型使用至 10 处以下 - ✅ 定义明确的接口类型
- ✅ 通过 TypeScript 严格检查
- ✅ 类型覆盖率 > 95%
BE-CR006: 统一 logger 使用
问题描述: 86 个文件混合使用 console.log/warn/error,与统一的 logger 服务并存。
验收标准:
- ✅ 所有 console.log 替换为 logger
- ✅ 日志格式统一
- ✅ 日志级别正确使用
- ✅ 日志输出可配置
BE-CR007: 完善输入参数验证
问题描述: 部分 API 缺少输入参数校验,建议统一使用 Zod 进行参数验证。
验收标准:
- ✅ 所有 API 路由添加参数验证
- ✅ 使用 Zod 统一验证
- ✅ 错误提示清晰
- ✅ 通过安全测试
BE-CR008: 优化数据库查询索引
问题描述: 复杂查询需通过 EXPLAIN 校验索引,批量操作建议分批处理。
验收标准:
- ✅ 所有慢查询优化
- ✅ 索引合理配置
- ✅ 查询性能提升 > 50%
- ✅ 通过性能测试
BE-CR009: 补充单元测试覆盖率
问题描述: 核心服务缺少单元测试,需要补充测试用例。
验收标准:
- ✅ 核心服务测试覆盖率 > 80%
- ✅ 关键业务逻辑测试完整
- ✅ 所有测试通过
- ✅ CI/CD 集成测试