代码质量审查员 quality-reviewer

代码质量审查员是一个自动化代码审查工具,专门用于检查和强制执行前端开发项目的代码质量标准。该工具支持TypeScript严格模式、ESLint合规性检查、文件行数限制、函数复杂度控制、命名规范验证、导入路径优化和项目架构合规性审查。适用于React、Vue等前端框架项目,帮助开发团队保持代码一致性,提高代码可维护性,减少技术债务。关键词:代码审查、代码质量、TypeScript、ESLint、前端开发、代码规范、自动化检查、DevOps、代码重构、复杂度控制

前端开发 0 次安装 0 次浏览 更新于 3/2/2026

name: quality-reviewer description: 自动审查DevPrep AI代码是否符合质量规范,包括ESLint合规性、TypeScript严格模式、180行文件限制、复杂度低于15、正确的命名约定、导入模式以及符合6文件夹架构的架构合规性 allowed-tools: [Read, Bash, Grep, Glob]

质量审查员

在开发过程中自动强制执行DevPrep AI代码质量标准。


自动触发

由以下关键词自动触发:

  • “review”, “check”, “validate”, “verify”
  • “lint”, “quality”, “standards”
  • “type check”, “typescript”
  • “complexity”, “file size”, “architecture”

快速标准

文件限制

  • 每个文件 ≤180行(仅代码)
  • 每个函数 复杂度 ≤15
  • 每个函数 ≤50行
  • 每个函数 ≤4个参数

TypeScript

  • 启用严格模式
  • 不使用 any 类型
  • 接口:使用 I 前缀(例如 IButtonProps
  • 类型导入:import type { ... }

命名

  • 接口:IUserProfile, IButtonProps
  • 类型:QuestionType, Difficulty
  • 函数:camelCase
  • 组件:PascalCase

导入

使用路径别名:

@shared/ui/button      // ✅ 正确
@modules/practice/*    // ✅ 正确
@lib/trpc/client       // ✅ 正确
@store/hooks           // ✅ 正确

../../../shared/ui/*   // ❌ 错误

架构(6文件夹)

app/      仅路由
modules/  功能模块(练习、评估、结果、个人资料、问题、首页)
shared/   跨领域共享(UI、组件、钩子、工具函数)
lib/      集成库(trpc、claude)
store/    Zustand状态管理
styles/   设计系统

运行检查

单项检查

# 针对特定问题
./.claude/skills/quality-reviewer/scripts/check-file-size.sh
./.claude/skills/quality-reviewer/scripts/check-complexity.sh
./.claude/skills/quality-reviewer/scripts/check-imports.sh
./.claude/skills/quality-reviewer/scripts/check-architecture.sh
./.claude/skills/quality-reviewer/scripts/check-naming.sh

完整审查

# 一次性运行所有7项检查
./.claude/skills/quality-reviewer/scripts/full-review.sh

检查顺序:文件大小 → 复杂度 → 导入 → 架构 → 命名 → ESLint → TypeScript


常见修复

接口缺少’I’前缀

interface ButtonProps { }  // ❌
interface IButtonProps { } // ✅

直接导入React

import { ReactElement } from 'react';      // ❌
import type { ReactElement } from 'react'; // ✅

相对路径导入

import { Button } from '../../../shared/ui/button'; // ❌
import { Button } from '@shared/ui/button';         // ✅

使用’any’

const data: any = fetchData();    // ❌
const data: IUserData = fetchData(); // ✅

文件过大

拆分为:

  • Component.tsx - 仅UI
  • hooks.ts - 逻辑
  • types.ts - 类型
  • utils.ts - 工具函数

参考:examples/refactor-after/

复杂度过高(>15)

// ❌ 之前:嵌套if语句(复杂度18)
if (user.role === 'admin') {
  if (user.isActive) {
    if (user.permissions.includes('write')) {
      // 执行操作
    }
  }
}

// ✅ 之后:提前返回(复杂度3)
if (!user.role === 'admin') return;
if (!user.isActive) return;
if (!user.permissions.includes('write')) return;
// 执行操作

快速修复方法:

  • 提取条件判断 → 独立函数
  • 使用提前返回 → 避免嵌套
  • 替换switch语句 → 查找对象 const MAP = { key: 'value' };

何时加载额外文档

SKILL.md自包含以下内容:

  • 运行检查(上述所有脚本)
  • 简单修复(命名、导入、基础重构)
  • 理解标准

仅在需要时加载额外文档:

需求 加载 行数
文件拆分策略 examples/refactor-after/ ~256
复杂度降低技巧 docs/standards.md (第75-163行) ~88
架构模式 docs/standards.md (第224-280行) ~56
类型安全模式 docs/standards.md (第283-348行) ~65
深入分析任何违规 docs/standards.md (完整文件) ~370

代码示例:

  • ✅ 完美示例:examples/good-code.tsx
  • ❌ 违规示例:examples/bad-code.tsx
  • 🔄 重构示例:examples/refactor-after/

完整项目标准: Docs/code-standards.md


版本: 1.1.0(优化版) | 更新: 2025年10月 优化: 体积减少31%,典型使用场景令牌数减少52%

注意: 示例文件使用 // @ts-nocheck/* eslint-disable */ 指令来抑制IDE警告,因为它们用于演示故意违规或引用不存在的路径以用于教育目的。它们也通过 frontend/tsconfig.json 从构建时TypeScript编译中排除。