一、用途 该技能用于审查 Flutter/Dart 代码,关注 Widget 模式、状态管理、性能与跨平台最佳实践。当项目出现 Flutter 代码审查、Widget/BLoC/Provider/Riverpod/GetX 相关讨论、重建优化检查,或 pubspec.yaml 含 flutter 依赖时适用。
二、项目识别 依据 pubspec.yaml 是否含 flutter 依赖、是否存在 lib/main.dart、android/ 与 ios/ 目录、以及含 Flutter 导入的 .dart 文件来判断。
三、工作流程 先分析项目(Flutter 3.x、Dart 3.x、状态管理方案、架构、空安全),再通过选项让用户选择审查范围(完整模式检查、Widget 构建优化、状态管理、平台通道/原生代码、导航/路由),支持多选。
四、主要检查项与严重级别 Widget:build() 内重逻辑(HIGH,移至 initState 或独立方法)、缺少 const 构造函数(HIGH)、ListView 缺少 key(HIGH)、不必要的 setState(MEDIUM)、过大的 build 方法(MEDIUM)。 状态管理 BLoC:未 close 导致内存泄漏(CRITICAL)、close 后 emit(HIGH)、嵌套 BlocBuilder(MEDIUM,改用 BlocSelector 或 MultiBlocListener)、UI 内业务逻辑(MEDIUM)。 Provider/Riverpod:Provider 未释放(HIGH)、ChangeNotifier 未调 notifyListeners(HIGH)、build 中使用 context.read(HIGH,反应式更新应使用 context.watch)、缺少 ProviderScope(CRITICAL)。 性能:不必要重建(const、shouldRebuild、select)、大图片未缓存、同步文件 I/O 阻塞 UI(改用 compute()/Isolate)、AnimationController 未 dispose。 平台通道:缺少空值检查(HIGH)、无错误处理(MEDIUM)、主线程阻塞(HIGH)、硬编码通道名(LOW)。
五、输出 生成结构化审查结果,含项目信息、按 Widget 模式/状态管理/性能分组的问题表(文件、问题、级别)以及建议的待办操作清单。文档还建议与通用 Dart 代码审查、测试生成、Android/iOS 平台侧审查等技能配合使用。
六、限制 资料未提供安装命令、收费方式与运行平台等细节。