SuperAPI AI 工具集

code-quality

测试与质量

查看项目

更新于 10-16 07:27

技能介绍

用途:这是 RedisInsight 项目的代码质量规范,供开发者与 AI 编码助手在修改代码时遵循,确保风格与质量一致。

主要能力与规则:

  • 关键规则:代码改动后必须运行 npm run lint,提交前 lint 必须通过;生产代码禁止 console.log,仅可用 console.warn/error。
  • TypeScript:新代码一律用 TypeScript;避免 any,改用具体类型或 unknown;对象形状优先 interface,联合、交叉、原始类型用 type;非显而易见函数需显式返回类型。
  • 导入顺序(由 ESLint 强制):外部库、Node 内置模块(仅后端)、带别名的内部模块、同级/父级相对导入、样式导入(始终最后)。别名包括 uiSrc/、apiClient、desktopSrc/。UI 工作区不得直接导入后端代码,类型用 apiClient,HTTP 调用走 uiSrc/services 服务层。
  • 命名:组件 PascalCase,函数/变量 camelCase,常量 UPPER_SNAKE_CASE,布尔值用 is/has/should 前缀。
  • 注释:默认少写,仅在代码无法自解释或用户明确要求时添加,保持简短平实,避免复述标识符、重复测试断言或概括明显代码块。
  • SonarJS:降低认知复杂度,重复字符串提取为常量,遵循 DRY,使用立即返回。
  • 最佳实践:解构、模板字面量、默认 const、描述性命名、正确处理错误、清理订阅与定时器、用常量替代魔法数字。
  • Vite 缓存:更新 npm 包(尤其 @redis-ui/*)后执行 rm -rf node_modules/.vite 与 rm -rf redisinsight/ui/node_modules/.vite,并重启开发服务器。
  • 提交前清单:lint 通过、无 TypeScript 错误、导入顺序正确、无无理由 any、无 console.log、无魔法数字、命名清晰、认知复杂度低、无重复代码、注释精简、必要时清理 Vite 缓存。

限制:资料未提供具体 ESLint 配置细节、版本要求或适用范围之外的说明。