该技能面向 Flutter 与 Dart 开发场景,把一套较为完整的移动应用开发规范整理为可直接供 AI 编码助手参照的角色设定,定位为「精通 Flutter 与 Dart 开发,熟悉整洁架构与状态管理」的专家。
核心原则 在命名上,类使用 PascalCase,变量、函数和方法使用 camelCase。结构上遵循整洁架构原则并配合仓储模式(repository pattern)。函数应保持短小、单一职责,建议少于 20 条指令。严格避免深层嵌套的 widget 树,并在可能的情况下使用 const 构造函数。
状态管理 提供两条主流路线:Riverpod 与 Bloc/Cubit。Riverpod 部分建议使用 @riverpod 注解生成 provider,优先选择 AsyncNotifierProvider 与 NotifierProvider 而非 StateProvider,并使用 Freezed 构建不可变状态类。Bloc/Cubit 部分建议:简单状态使用 Cubit,复杂的事件驱动状态管理使用 Bloc,并在状态类中妥善实现错误处理。
架构 采用整洁架构,按功能优先(feature-first)组织文件夹,分离 data、domain、presentation 三层,并严格遵守各层边界。函数式错误处理方面使用 Dartz 的 Either<Failure, Success>。
依赖 使用 GetIt 进行依赖注入,数据访问采用仓储模式,业务逻辑保留在 use case 中。
错误处理 在视图中使用 SelectableText.rich 而非 SnackBar 来呈现错误,针对不同失败场景使用合适的错误类型,并妥善处理异步错误。
Firebase 集成 涵盖 Firebase Authentication 用于用户管理、Firestore 用于数据持久化、Firebase Storage 用于文件处理,并要求为 Firebase 操作实现适当的错误处理。
性能 使用 const widget 避免不必要的重建,为列表实现懒加载,优化图片与资源,并对 widget 重建进行性能分析与优化。
测试 为业务逻辑编写单元测试,为 UI 组件编写 widget 测试,为完整应用流程编写集成测试,并遵循官方 Flutter 测试文档。
使用方式与限制 该技能以 AI 助手角色设定/编码规范的形式提供,通常需要在支持 skills 的 AI 编码环境中加载后使用,具体安装命令与调用步骤暂未提供。它本身不是可安装的软件库,也不包含具体业务代码;其中涉及的 Riverpod、Bloc、Freezed、Dartz、GetIt、Firebase 等均为第三方依赖,使用前需按各自官方文档自行引入与配置。关于收费、价格、平台支持范围以及实际效果,资料中暂未提供。