coding-standards.md 3.5 KB

编码标准和测试策略

版本信息

版本 日期 描述 作者
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契约
  • 数据库集成: 使用测试数据库,避免污染生产数据
  • 错误处理: 测试各种错误场景和边界条件
  • 日志一致性: 测试日志格式和错误信息

通用CRUD开发规范

  • CRUD开发: 遵循 通用CRUD规范 进行开发
  • 实体设计: 使用TypeORM装饰器定义字段,为所有字段添加 comment 配置,包含时间戳字段
  • Schema设计: 创建、更新、响应使用不同的Zod schema
  • 枚举定义: 所有业务枚举必须在共享类型文件中定义(如 packages/server/src/share/*.types.ts),避免在实体文件中定义,确保前端可安全导入
  • 路由生成: 使用 createCrudRoutes 自动生成API路由
  • 用户跟踪: 实现用户跟踪功能记录操作人信息

非通用CRUD路由开发规范

  • 非通用路由开发: 遵循 非通用CRUD路由规范 进行开发
  • 路由类型: 统计查询、层级数据查询、业务操作等非标准CRUD场景
  • Schema设计: 使用Zod schema定义查询参数、路径参数和响应格式
  • 错误处理: 统一错误响应格式,包含完整的错误状态码
  • 权限控制: 复用现有中间件,实现资源所有权验证
  • 文档生成: 自动生成OpenAPI文档,包含请求响应示例

Taro小程序开发规范

  • 组件开发: 遵循 Taro小程序开发规范 进行开发
  • 平台适配: 正确处理微信小程序、H5等平台差异
  • 状态管理: 使用React Query管理服务端状态
  • 路由导航: 统一使用Taro路由API

Tailwind CSS样式规范

  • 样式开发: 遵循 Tailwind CSS样式规范 进行开发
  • 原子化原则: 优先使用Tailwind原子类,避免自定义CSS
  • 响应式设计: 移动端优先的响应式布局
  • 组件样式: 使用shadcn/ui组件库和变体系统

mini-demo迁移规范

  • 迁移指导: 遵循 mini-demo迁移指导规范 进行迁移
  • 样式保留: 确保百分百样式保留,保持用户体验一致性
  • 技术栈转换: 原生小程序 → Taro + React + TypeScript
  • 数据集成: 模拟数据 → 真实后端API

管理后台开发规范

  • 管理后台开发: 遵循 管理后台开发规范 进行开发
  • 页面结构: 统一页面结构和布局标准
  • 数据表格: 标准表格组件使用规范
  • 权限控制: 基于角色的访问控制实现
  • 用户体验: 统一的加载状态、错误处理和用户反馈机制