验证循环 verification-loop

验证循环是一个全面的代码质量验证系统,用于在代码更改后执行构建、类型检查、代码规范检查、测试和安全扫描,确保代码质量并准备提交。关键词:代码质量验证、构建检查、类型检查、代码规范、测试覆盖、安全扫描、DevOps、持续集成。

测试 0 次安装 0 次浏览 更新于 3/7/2026

name: 验证循环 description: 用于代码更改的全面质量验证系统,包括构建、类型、代码规范、测试和安全检查 license: MIT metadata: source: affaan-m/everything-claude-code adapted-by: ai-skills category: 质量保证

验证循环

一个全面的验证系统,用于确保代码质量跨越多个维度。

使用时机

调用此技能:

  • 完成功能或重要代码更改后
  • 创建拉取请求前
  • 当您想确保质量门通过时
  • 重构或重大修改后
  • 代码审查准备期间

验证阶段

阶段 1:构建验证

# 检查项目是否构建
npm run build 2>&1 | tail -20
# 或
pnpm build 2>&1 | tail -20
# 或其他构建系统
make build 2>&1 | tail -20
cargo build 2>&1 | tail -20

关键:如果构建失败,停止并在继续前修复。

阶段 2:类型检查

# TypeScript 项目
npx tsc --noEmit 2>&1 | head -30
# Python 项目
pyright . 2>&1 | head -30
mypy . 2>&1 | head -30
# Go 项目
go vet ./... 2>&1 | head -30

报告所有类型错误。在继续前修复关键错误。

阶段 3:代码规范检查

# JavaScript/TypeScript
npm run lint 2>&1 | head -30
eslint . 2>&1 | head -30
# Python
ruff check . 2>&1 | head-30
flake8 . 2>&1 | head -30
# Go
golint ./... 2>&1 | head -30
# Rust
cargo clippy 2>&1 | head -30

阶段 4:测试套件

# 运行测试并覆盖
npm run test -- --coverage 2>&1 | tail -50
pytest --cov=. 2>&1 | tail -50
go test -cover ./... 2>&1 | tail -50
# 检查覆盖阈值
# 目标:新代码至少 80%

报告:

  • 总测试数:X
  • 通过:X
  • 失败:X
  • 覆盖:X%
  • 新文件覆盖:X%

阶段 5:安全扫描

# 检查密钥
grep -rn "sk-" --include="*.ts" --include="*.js" --include="*.py" . 2>/dev/null | head -10
grep -rn "api_key" --include="*.ts" --include="*.js" --include="*.py" . 2>/dev/null | head -10
grep -rn "password.*=" --include="*.ts" --include="*.js" --include="*.py" . 2>/dev/null | head -10
# 检查调试语句
grep -rn "console.log" --include="*.ts" --include="*.tsx" --include="*.js" src/ 2>/dev/null | head -10
grep -rn "print(" --include="*.py" . 2>/dev/null | head -10
grep -rn "println!" --include="*.rs" src/ 2>/dev/null | head -10

阶段 6:差异审查

# 显示更改内容
git diff --stat
git diff HEAD~1 --name-only
git diff --shortstat

审查每个更改文件:

  • 意外更改或修改
  • 缺少错误处理
  • 潜在边缘情况
  • 需要文档更新

输出格式

运行所有阶段后,生成验证报告:

验证报告
==================

构建:     [✓ 通过 / ✗ 失败]
类型:     [✓ 通过 / ✗ 失败] (X 错误)
代码规范:[✓ 通过 / ✗ 失败] (X 警告)
测试:     [✓ 通过 / ✗ 失败] (X/Y 通过,Z% 覆盖)
安全:     [✓ 通过 / ✗ 失败] (X 问题)
差异:     [X 文件更改,+Y 行,-Z 行]

总体:     [✓ 准备就绪 / ✗ 未准备就绪] 用于 PR

需要修复的问题:
1. [优先级] 描述
2. [可选] 描述
...

建议:
- 建议 1
- 建议 2

持续模式

对于长会话,每 15 分钟或重大更改后运行验证:

检查点:

  • 完成每个函数后
  • 完成组件后
  • 移动到下一个任务前
  • 解决合并冲突后

集成点

此技能补充:

  • testing-patterns:用于测试设计
  • deployment-cicd:用于 CI 管道准备
  • github-repository-standards:用于 PR 准备
  • security-threat-modeler:用于安全审查

快速验证

开发期间的快速检查:

# 最小验证(30 秒)
npm run build && npm run lint && npm test

提交前使用完整验证。


相关技能

互补技能(一起使用)

替代技能(类似目的)

  • 无 - 验证循环是质量门过程,不是其他实践的替代

前提技能(先学习)