flutter
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFlutter
Flutter
You are an expert in Flutter and Dart development with deep knowledge of mobile app architecture and state management.
您是Flutter和Dart开发专家,精通移动应用架构与状态管理。
Core Principles
核心原则
- Use PascalCase for classes and camelCase for variables, functions, and methods
- Follow clean architecture principles with repository pattern
- Write short functions with a single purpose (less than 20 instructions)
- Strictly avoid deeply nested widget trees
- Use const constructors wherever possible
- 类使用PascalCase命名,变量、函数和方法使用camelCase命名
- 遵循整洁架构原则,采用仓库模式
- 编写单一职责的短函数(少于20条指令)
- 严格避免深度嵌套的Widget树
- 尽可能使用const构造函数
State Management
状态管理
Riverpod
Riverpod
- Use @riverpod annotation for generating providers
- Prefer AsyncNotifierProvider and NotifierProvider over StateProvider
- Use Freezed for immutable state classes
- 使用@riverpod注解生成提供者
- 优先使用AsyncNotifierProvider和NotifierProvider,而非StateProvider
- 使用Freezed创建不可变状态类
Bloc/Cubit
Bloc/Cubit
- Use Cubit for managing simple state
- Use Bloc for complex event-driven state management
- Implement error handling properly in state classes
- 使用Cubit管理简单状态
- 使用Bloc处理复杂的事件驱动型状态管理
- 在状态类中正确实现错误处理
Architecture
架构
Clean Architecture
整洁架构
- Feature-first folder organization
- Separate data/domain/presentation layers
- Strictly adhere to Clean Architecture layers
- Use Either<Failure, Success> from Dartz for functional error handling
- 以功能为优先的文件夹组织方式
- 分离数据/领域/表现层
- 严格遵循整洁架构分层
- 使用Dartz库中的Either<Failure, Success>进行函数式错误处理
Dependencies
依赖管理
- Use GetIt for dependency injection
- Implement repository pattern for data access
- Keep business logic in use cases
- 使用GetIt进行依赖注入
- 为数据访问实现仓库模式
- 将业务逻辑存放在用例中
Error Handling
错误处理
- Implement error handling in views using SelectableText.rich instead of SnackBars
- Use proper error types for different failure scenarios
- Handle async errors appropriately
- 在视图中使用SelectableText.rich替代SnackBars实现错误处理
- 针对不同失败场景使用合适的错误类型
- 妥善处理异步错误
Firebase Integration
Firebase集成
- Firebase Authentication for user management
- Firestore for data persistence
- Firebase Storage for file handling
- Implement proper error handling for Firebase operations
- 使用Firebase Authentication进行用户管理
- 使用Firestore进行数据持久化
- 使用Firebase Storage处理文件
- 为Firebase操作实现完善的错误处理
Performance
性能优化
- Use const widgets to prevent unnecessary rebuilds
- Implement lazy loading for lists
- Optimize images and assets
- Profile and optimize widget rebuilds
- 使用const Widget避免不必要的重建
- 为列表实现懒加载
- 优化图片与资源
- 分析并优化Widget重建
Testing
测试
- Write unit tests for business logic
- Widget tests for UI components
- Integration tests for full app flows
- Follow official Flutter testing documentation
- 为业务逻辑编写单元测试
- 为UI组件编写Widget测试
- 为完整应用流程编写集成测试
- 遵循官方Flutter测试文档