Flutter/Dart 代码审查助手
面向 Flutter 应用的代码审查助手。从代码质量、性能优化到无障碍访问、安全规范,提供全面的审查清单,帮助你发现代码中的潜在问题,确保项目质量。
这个技能能帮你做什么
在 Flutter 项目开发中,代码审查是保证质量的重要环节。这个技能提供了一套全面的审查清单,覆盖代码结构、性能、安全、无障碍等各个方面,帮助你发现那些容易被忽略的问题。
简单说,它能帮你:
- 审查代码质量 —— 检查代码是否符合 Dart/Flutter 最佳实践
- 发现性能问题 —— 识别不必要的重建、内存泄漏等性能瓶颈
- 确保安全合规 —— 检查敏感数据存储、API 安全等
- 提升无障碍性 —— 验证应用是否支持屏幕朗读、高对比度等
- 统一团队规范 —— 确保团队成员遵循统一的代码标准
什么时候用
提交代码前 —— 自己先过一遍清单,减少审查时的返工
代码审查时 —— 作为审查清单,确保没有遗漏重要检查点
项目验收前 —— 全面检查项目质量,确保达到发布标准
新人入职时 —— 帮助新人快速了解团队的代码规范
重构前 —— 评估现有代码质量,确定重构优先级
主要覆盖哪些方面
- 代码基础
- 类型安全,避免隐式动态类型
- 空安全处理,合理使用模式匹配
- 异步编程规范,正确处理 Future 和 Stream
- 避免常见陷阱(如 catch 过于宽泛、late 滥用等)
- 组件设计
- 组件拆分合理,避免单个组件过于庞大
- 合理使用 const 关键字优化性能
- 正确使用 Key(ValueKey、GlobalKey 等)
- 从主题获取颜色和字体样式,避免硬编码
- 状态管理
- 业务逻辑与 UI 分离,组件只负责展示
- 状态设计清晰,使用密封类型表达互斥状态
- 状态更新 immutable,通过 copyWith 创建新实例
- 合理控制重建范围,避免不必要的性能开销
- 性能优化
- 避免在 build 方法中做耗时操作
- 图片加载优化(缓存、压缩、懒加载)
- 列表使用 ListView.builder 实现懒加载
- 合理使用 RepaintBoundary 减少重绘
- 测试覆盖
- 单元测试覆盖业务逻辑
- 组件测试验证交互行为
- 集成测试覆盖核心流程
- 测试环境隔离,模拟外部依赖
- 无障碍访问
- 语义标签完整,支持屏幕朗读
- 颜色对比度达标(4.5:1)
- 触摸目标尺寸足够(48x48 像素)
- 支持系统字体大小调整
- 安全防护
- 敏感数据使用安全存储(Keychain/EncryptedSharedPreferences)
- API 密钥不硬编码,通过编译时注入
- 用户输入验证,防止注入攻击
- HTTPS 强制,证书校验
- 依赖管理
- 评估第三方库的质量和维护状态
- 合理使用版本约束(caret syntax)
- 定期更新依赖,关注安全漏洞
- 避免不必要的依赖,减少攻击面
怎么用
自我审查 —— 提交代码前对照清单自检一遍
团队审查 —— 作为代码审查的标准流程,确保不遗漏
问题排查 —— 遇到 bug 时,对照清单排查是否有常见问题
新人培训 —— 作为 Flutter 最佳实践的入门指南
核心原则
做 Flutter 开发时,记住这几条原则:
- 组件职责单一 —— 一个组件只做一件事,业务逻辑抽离到状态管理层
- 状态 immutable —— 状态不可变,更新时创建新实例
- 构建方法纯净 —— build 方法里只做 UI 渲染,不做数据获取或计算
- 测试覆盖核心逻辑 —— 特别是状态转换和边界条件
- 安全不妥协 —— 敏感数据加密存储,传输全程 HTTPS
适用场景
- Flutter 项目的代码审查
- 评估 Flutter 项目质量
- 新人入职培训
- 项目上线前质量检查
- 重构前的代码评估
不适用场景
- 纯 Dart 后端开发(主要针对 Flutter UI)
- 原生 iOS/Android 开发(不涉及 Flutter 的部分)
- UI 设计评审(关注代码质量而非视觉设计)
- 性能测试(提供检查点而非性能测试工具)
v1.0.0
2026-07-17
下载