Appearance
Everything Claude Code 的 flutter-dart-code-review Skill 是一套面向生产环境的 Flutter/Dart 代码审查清单,涵盖 Widget 最佳实践、主流状态管理流派(BLoC、Riverpod、Provider、GetX、MobX、Signals)、Dart 语言惯用法、性能陷阱、可访问性、安全与依赖管理等关键领域。通过自动化触发和与 Agent 协作,Skill 可帮助开发者和 AI 助手系统性发现架构、性能、可维护性等问题,显著提升 Flutter 项目的代码质量和交付效率。
Everything Claude Code Flutter Dart Code Review Skill:Widget 最佳实践、状态管理各流派与性能陷阱检查清单
在使用 AI 编程助手(如 Claude Code、Codex、Cursor 等)协作开发 Flutter/Dart 项目时,如何确保自动生成或修改的代码真正符合生产级最佳实践?Everything Claude Code 的 flutter-dart-code-review Skill 正是为此设计——它将一套全面、库无关的 Flutter/Dart 代码审查清单自动化,覆盖 Widget 构建、状态管理、性能、测试、安全、依赖等 15 大领域,适配 BLoC、Riverpod、Provider、GetX、MobX、Signals 等主流流派,极大提升 AI 辅助开发的代码质量保障能力。
你可以在 Everything Claude Code 完全指南 了解全套 Skill/Agent/Hook 体系的设计理念和应用场景。
1. 这个 Skill 解决什么问题?
传统代码审查的痛点:
- 人工审查难以覆盖所有细节,尤其是跨团队、多人协作或 AI 自动生成代码时。
- 各种状态管理库、架构风格混用,容易遗漏特定流派的最佳实践或反模式。
- 性能陷阱、可访问性、安全等非功能性问题常被忽视,直到上线才暴露。
- 新成员或 AI 生成代码难以快速对齐团队标准,导致技术债累积。
flutter-dart-code-review Skill 的优势:
- 库无关:无论你用 BLoC、Riverpod、Provider、GetX、MobX 还是 Signals,Skill 都能自动适配其最佳实践与常见陷阱。
- 全流程自动化:支持在 PR、CI、保存文件、自动生成代码后等多场景自动触发,持续保障代码质量。
- 覆盖全面:从 Widget 拆分、状态管理、Dart 语言细节,到性能、测试、安全、依赖、路由、国际化、DI、静态分析等全方位审查。
- 输出结构化报告:AI Agent 能基于 Skill 输出分门别类的改进建议、风险提示和示例代码,便于团队快速修正。
2. 触发条件与集成方式
- 自动触发:通常在 AI 生成 Flutter/Dart 代码后,或开发者保存/提交文件时,通过 Hook 自动激活 Skill。
- 手动调用:可通过 Claude Code 的命令面板或指定 Agent(如 Code Reviewer Agent、Flutter Reviewer Agent)手动触发代码审查。
- CI 集成:在 CI/CD 流水线中,结合 Verification Loop Skill 实现端到端自动验证,阻断不合格代码合并。
Skill 也常与 Dart Build Resolver Agent、Flutter Reviewer Agent 等协作,形成“生成-审查-修复”闭环。
3. 使用流程(Step by Step)
Step 1:配置 Skill 并选择触发场景
- 在
.claude/skills.yaml中启用flutter-dart-code-reviewSkill。 - 配置触发 Hook(如保存文件、PR 创建、CI 检查等)。
Step 2:AI 生成或开发者提交 Flutter/Dart 代码
- 例如,AI 帮你实现了一个新页面、重构了状态管理逻辑,或开发者手动提交了代码。
Step 3:Skill 自动激活,分析代码并输出结构化审查报告
- Skill 会遍历本次变更涉及的 Dart/Flutter 文件,逐条应用 15 大类清单(详见下文)。
- 检查内容包括但不限于:
- Widget 是否合理拆分、无业务逻辑、const 优化、Key 使用正确
- 状态管理是否分层清晰、无“God”对象、不可变性、依赖注入、流派专属陷阱
- 性能陷阱(如 build() 里重运算、图片未缓存、无分页等)
- 可访问性(语义标签、对比度、交互无障碍)
- 安全(密钥管理、输入校验、API 调用安全)
- 依赖和包管理(pubspec.yaml、依赖锁定、包健康度)
- 路由、国际化、错误处理、静态分析等
Step 4:Agent 输出结构化建议与风险提示
- 例如:
markdown
## Widget 拆分与性能
- [ ] `UserProfileWidget` 的 build 方法超过 120 行,建议拆分为更小的子组件。
- [ ] `const` 构造函数未充分利用,部分无状态组件可优化为 const。
## 状态管理
- [ ] `UserBloc` 直接依赖了其他 Bloc,建议通过 Repository 层解耦。
- [ ] 状态类未实现 `==` 和 `hashCode`,可能导致不必要的重建。
## 性能
- [ ] `build()` 方法中存在大集合排序,应提前在状态管理层处理。
- [ ] 图片未使用缓存加载,建议采用 `CachedNetworkImage`。
## 安全
- [ ] 检测到 API Key 硬编码在源码中,建议迁移至环境变量。Step 5:开发者或 AI 根据报告修正代码,循环迭代
- 可结合 Verification Loop Skill 实现“生成-审查-修复-再审查”自动循环,直到所有检查项通过。
4. Skill 检查清单核心内容
Skill 的审查内容高度结构化,涵盖如下重点:
Widget 最佳实践
- 拆分粒度适中(build 不超 80-100 行),无业务逻辑,const 优化,Key 正确使用,主题与设计系统一致,避免 build() 里副作用/重运算。
状态管理全流派适配
- 支持 BLoC、Riverpod、Provider、GetX、MobX、Signals 等,自动识别并应用各自最佳实践,如依赖注入、不可变性、反模式(如 God Manager、循环依赖)、状态显式建模(sealed class/union)、Selector 优化重建、订阅销毁等。
Dart 语言惯用法与陷阱
- 检查类型推断、null safety、async/await、late/var/const、print/log、集合暴露、Dart 3 pattern matching、records、import 风格等。
性能陷阱
- 避免不必要重建、图片/列表懒加载、动画优化、避免 build() 里重运算、适当使用 RepaintBoundary、避免 Intrinsic 组件滥用等。
测试与可访问性
- 单元、Widget、集成、黄金测试覆盖,mock 隔离、无 flaky 测试;语义标签、对比度、焦点顺序、交互无障碍。
安全与依赖管理
- 密钥安全、输入校验、API 调用安全、依赖包健康度与锁定、跨平台适配、路由安全、错误处理、国际化、依赖注入、静态分析等。
详细清单可参考 Skill 源文件,或在 Everything Claude Code 完全指南 查看全局 Skill 体系。
5. 输出示例
结构化报告样例:
markdown
### Widget 结构
- [ ] `OrderListWidget` build 方法超 100 行,建议拆分。
- [ ] 存在业务逻辑(API 调用)嵌入 Widget,建议移至状态管理层。
### 状态管理
- [ ] Riverpod Provider 存在循环依赖链,建议重构。
- [ ] State 类未使用 freezed/Equatable,建议实现 value equality。
### 性能
- [ ] build() 中存在大数据排序,建议提前处理。
- [ ] 图片未缓存,建议使用缓存方案。
### 可访问性
- [ ] 部分按钮无语义标签,建议补充。
### 安全
- [ ] 发现硬编码密钥,建议迁移至安全存储。自动修复建议:
- Skill 可配合 Code Reviewer Agent 或 Flutter Reviewer Agent 自动生成修复 PR 或代码片段。
6. 常见配套 Agent 与 Skill 协作
- Code Reviewer Agent:通用代码审查,适配多语言 Skill。
- Flutter Reviewer Agent:专注 Flutter/Dart 生态,结合本 Skill 进行深入审查与自动修复。
- Dart Build Resolver Agent:自动修复 Dart/Flutter 构建与依赖问题。
- Verification Loop Skill:实现多轮自动生成-审查-修复闭环。
- Performance Optimizer Agent:针对性能问题给出更深入分析和优化建议。
你可以在 Claude Code 快速上手指南 了解如何组合 Skill、Agent、Hook 实现自动化工作流。
7. 与其他 Skill 的协作关系
- Dart Flutter Patterns Skill:聚焦于模式和架构,
flutter-dart-code-reviewSkill 更偏向审查和风险提示,二者可互补。 - Verification Loop Skill:将本 Skill 的审查结果纳入自动循环,持续提升代码质量。
- Security Review Skill:补充安全专用审查,覆盖更深层次的安全风险。
FAQ
Q: 这个 Skill 能适配所有主流 Flutter 状态管理库吗?
A: 是的,Skill 针对 BLoC、Riverpod、Provider、GetX、MobX、Signals 等主流流派均有专属检查和优化建议。
Q: 审查报告能自动修复问题吗?
A: Skill 本身输出结构化建议,结合 Code Reviewer Agent 或 Flutter Reviewer Agent 可自动生成修复代码或 PR。
Q: 如何避免审查遗漏或误报?
A: Skill 采用库无关原则+流派专属规则,覆盖绝大多数生产级问题。对于特殊场景可结合团队自定义 Skill 或 Rules 体系扩展。