# 编码标准和测试策略

## 版本信息
| 版本 | 日期 | 描述 | 作者 |
|------|------|------|------|
| 2.4 | 2025-09-20 | 与主架构文档版本一致 | Winston |

## 现有标准合规性
- **代码风格**: TypeScript严格模式，一致的缩进和命名
- **linting规则**: 已配置ESLint，支持TypeScript和React
- **测试模式**: 完整的测试框架已配置（Vitest + Testing Library + Playwright）
- **文档风格**: 代码注释良好，测试策略文档完整

## 增强特定标准
- **测试框架**: 使用Vitest + Testing Library + hono/testing + Playwright
- **测试位置**: `__tests__` 文件夹与源码并列
- **覆盖率目标**: 核心业务逻辑 > 80%
- **测试类型**: 单元测试、集成测试、E2E测试

## 关键集成规则
- **现有API兼容性**: 确保测试不破坏现有API契约
- **数据库集成**: 使用测试数据库，避免污染生产数据
- **错误处理**: 测试各种错误场景和边界条件
- **日志一致性**: 测试日志格式和错误信息

## RPC客户端架构最佳实践
- **单例模式**: 使用单例模式的客户端管理器确保全局唯一的客户端实例
- **延迟初始化**: 客户端应在首次使用时初始化，避免过早创建
- **类型安全**: 使用Hono的InferRequestType和InferResponseType确保类型一致性
- **组件调用规范**: 在组件中应使用`clientManager.get().api.$method`而非直接使用导出的客户端实例
- **测试Mock**: 在测试中正确mock客户端管理器的get()方法调用链
- **架构一致性**: 确保所有API调用都通过客户端管理器获取实例，保持架构一致性
