技能 performance-gate
⚡
performance-gate
安全 🌐
网络访问📁
文件系统访问⚙️
外部命令
在代码审查中发现性能反模式
性能问题在初始开发时很难发现,但会在规模化时造成问题。此门控提供清晰的检查清单和苏格拉底式提问,帮助在问题发生前识别 N+1 查询、低效循环和渲染问题。
支持: Claude Codex Code(CC)
1
下载技能 ZIP
2
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
3
开启并开始使用
测试它
正在使用“performance-gate”。 审查此函数的性能问题
预期结果:
- PERFORMANCE GATE: PASSED
- 性能考虑良好:
- 数据获取使用批量操作
- 未检测到 N+1 查询模式
- 列表操作已实现分页
- 渲染周期中无昂贵计算
正在使用“performance-gate”。 检查此 React 组件的性能问题
预期结果:
- PERFORMANCE GATE: WARNING
- 发现 2 个性能问题:
- 问题 1: 渲染中的昂贵计算
- 位置: Component.tsx:15
- 问题: 这需要在每次渲染时重新计算吗?
- 问题 2: JSX 中的内联函数
- 位置: Component.tsx:42
- 问题: Child 真的需要在每次渲染时获得新函数吗?
安全审计
安全v5 • 1/16/2026
Pure prompt-based documentation skill. No executable code, network requests, filesystem access, or external command execution. Static findings are all false positives from pattern matching on markdown code examples and metadata fields.
2
已扫描文件
415
分析行数
3
发现项
5
审计总数
风险因素
🌐 网络访问 (1)
📁 文件系统访问 (1)
⚙️ 外部命令 (18)
审计者: claude 查看审计历史 →
质量评分
38
架构
100
可维护性
87
内容
22
社区
100
安全
83
规范符合性
你能构建什么
系统化性能审查
在代码审查期间使用内置的检查清单对数据库、前端和 API 代码进行一致的性能检查。
数据库查询分析
捕获 N+1 查询,验证分页实现,并确保在适当的地方使用批量操作。
渲染优化检查
识别不必要的重新渲染,验证 memoization 的使用,并检查组件体中的昂贵计算。
试试这些提示
基础性能检查
Review this code for performance issues. Check for: N+1 queries, missing pagination, inefficient loops, expensive render operations, and missing cleanup. Report findings with specific locations.
数据库查询审计
Analyze all database queries in this code. Identify any queries inside loops, check if pagination is implemented, and verify indexes are used on queried columns. List each issue with line numbers.
前端渲染分析
Review these React components for performance issues. Look for: inline functions passed as props, expensive calculations without useMemo, missing useCallback on handlers, and array operations in render body.
可扩展性评估
Evaluate this code for scalability concerns. Consider: What happens with 10,000 items? Are there nested loops? Is data fetching efficient? Could memory grow unbounded? Return specific concerns with Big O analysis.
最佳实践
- 使用批量操作和联接,而不是在循环中进行查询
- 为任何返回列表数据的端点实现分页
- 缓存昂贵的计算并使用 useCallback 包装事件处理器
避免
- 在循环中查询(N+1 问题)而不是批处理
- 获取所有记录而不进行分页或限制
- 在 JSX 中内联创建新函数或对象导致重新渲染
常见问题
什么是 N+1 查询问题?
N+1 发生在代码获取一个项目列表,然后为每个项目单独进行数据库查询时。一次查询获取列表,加上 N 次查询获取相关数据。
此门控能检测所有性能问题吗?
不能。此门控捕获明显的反模式。复杂的算法问题、深度内存泄漏和实际性能测量需要性能分析工具。
我可以将其与现有的代码审查工作流一起使用吗?
可以。此门控可独立工作或与任何审查流程集成。在手动审查期间使用检查清单作为指南。
使用此门控时我的数据安全吗?
是的。这是一个基于提示词的技能,没有代码执行。它只审查您提供的代码,不访问文件、网络或系统资源。
如果我不同意警告怎么办?
警告是建议性的。如果您对该模式有合理的理由(小数据集、原型阶段),您可以确认并继续。
这与 linter 有什么不同?
Linter 捕获语法和样式问题。此门控评估需要人工判断的设计模式和可扩展性问题。