本文最后更新于 2025-04-29,文章内容可能已经过时。

FlutterRules

// 你是一名Flutter 应用专家 .cursorrules

将 Flutter 最佳实践和编码指南应用于 core 目录,重点关注常量、主题、工具和组件。

匹配路径:lib/core/**/*.*


  • 在保持清晰代码原则的同时适应现有项目架构。

  • UI 和样式

  • 使用 Material 组件。

  • 统一主题:使用 ThemeData 应用一致的样式。

  • 使用 Flutter 3.x 特性和 Material 3 设计。

  • 实现正确的空安全实践。

  • 遵循正确的命名规范。

  • 使用正确的组件组合。

  • 保持组件小且专注。

  • 尽可能使用 const 构造函数。

  • 实现正确的组件键。

  • 遵循正确的布局原则。

// Flutter 最佳实践

在整个项目中应用通用的 Flutter 最佳实践,重点关注架构、设计和代码质量。

匹配路径:lib/**/*.*


  • 在保持清晰代码原则的同时适应现有项目架构。

  • 使用 Flutter 3.x 特性和 Material 3 设计。

  • 实现带有 BLoC 模式的清晰架构。

  • 遵循正确的状态管理原则。

  • 使用正确的依赖注入。

  • 实现正确的错误处理。

  • 遵循平台特定的设计指南。

  • 使用正确的本地化技术。

// 项目结构

// 注意:这是一个参考结构。请根据项目的现有组织进行调整

const projectStructure =

lib/

core/

constants/

theme/

utils/

widgets/

features/

feature_name/

data/

datasources/

models/

repositories/

domain/

entities/

repositories/

usecases/

presentation/

bloc/

pages/

widgets/

l10n/

main.dart

test/

unit/

widget/

integration/

// 编码指南

const codingGuidelines = `

  1. 使用正确的空安全实践

  2. 使用 Either 类型实现正确的错误处理

  3. 遵循正确的命名规范

  4. 使用正确的组件组合

  5. 使用 GoRouter 实现正确的路由

  6. 使用正确的表单验证

  7. 使用 BLoC 遵循正确的状态管理

  8. 使用 GetIt 实现正确的依赖注入

  9. 使用正确的资源管理

  10. 遵循正确的测试实践 `;

// 组件指南

const widgetGuidelines = `

  1. 保持组件小且专注

  2. 尽可能使用 const 构造函数

  3. 实现正确的组件键

  4. 遵循正确的布局原则

  5. 使用正确的组件生命周期方法

  6. 实现正确的错误边界

  7. 使用正确的性能优化技术

  8. 遵循正确的无障碍指南 `;

// 性能优化

  • 当不需要状态时,优先使用 StatelessWidget

  • 使用 const 构造函数:如果组件是不可变的,使用 const 来优化构建。

const performanceGuidelines = `

  1. 使用正确的图片缓存

  2. 实现正确的列表视图优化

  3. 使用正确的构建方法优化

  4. 遵循正确的状态管理模式

  5. 实现正确的内存管理

  6. 在需要时使用正确的平台通道

  7. 遵循正确的编译优化技术 `;

//状态管理

  • 使用 Riverpod 实现高效的状态管理。

  • 在 ViewModel 中管理状态,并将其与视图连接。

// 测试指南

const testingTestingGuidelines = `

  1. 为业务逻辑编写单元测试

  2. 为 UI 组件实现组件测试

  3. 使用集成测试进行功能测试

  4. 实现正确的模拟策略

  5. 使用正确的测试覆盖工具

  6. 遵循正确的测试命名规范

  7. 实现正确的 CI/CD 测试

// 功能指南

在 Flutter 功能模块中强制执行清晰架构、BLoC 模式和状态管理原则。

匹配路径:lib/features/**/*.*


  • 在保持清晰代码原则的同时适应现有项目架构。

  • 使用 Flutter 3.x 特性和 Material 3 设计。

  • 实现带有 BLoC 模式的清晰架构。

  • 遵循正确的状态管理原则。

  • 使用正确的依赖注入。

  • 实现正确的错误处理。

  • 使用 BLoC 遵循正确的状态管理。

  • 实现正确的依赖注入。

专注于 Flutter 功能模块的展示层相关的规则,包括 BLoC、页面和组件。

匹配路径:lib/features/**/presentation/**/*.*


  • 在保持清晰代码原则的同时适应现有项目架构。

  • 使用 Flutter 3.x 特性和 Material 3 设计。

  • 使用正确的组件组合。

  • 保持组件小且专注。

  • 使用 GoRouter 实现正确的路由。

  • 使用正确的表单验证。

  • 实现正确的错误边界。

  • 遵循正确的无障碍指南。

//软件架构

使用 MVVM(Model View ViewModel)

//关键规则

  • 为了提升代码的可读性,每行代码的长度不应超过 80 个字符。

  • 对于所有流程控制结构(ifforwhile 等),必须使用大括号 {}

  • 积极使用注释来帮助理解与维护代码。

  • 使用单引号 ',避免使用双引号 "