Flutter/Dart 代码审查助手

面向 Flutter 应用的代码审查助手。从代码质量、性能优化到无障碍访问、安全规范,提供全面的审查清单,帮助你发现代码中的潜在问题,确保项目质量。

这个技能能帮你做什么

在 Flutter 项目开发中,代码审查是保证质量的重要环节。这个技能提供了一套全面的审查清单,覆盖代码结构、性能、安全、无障碍等各个方面,帮助你发现那些容易被忽略的问题。

简单说,它能帮你:

  • 审查代码质量 —— 检查代码是否符合 Dart/Flutter 最佳实践
  • 发现性能问题 —— 识别不必要的重建、内存泄漏等性能瓶颈
  • 确保安全合规 —— 检查敏感数据存储、API 安全等
  • 提升无障碍性 —— 验证应用是否支持屏幕朗读、高对比度等
  • 统一团队规范 —— 确保团队成员遵循统一的代码标准

什么时候用

提交代码前 —— 自己先过一遍清单,减少审查时的返工

代码审查时 —— 作为审查清单,确保没有遗漏重要检查点

项目验收前 —— 全面检查项目质量,确保达到发布标准

新人入职时 —— 帮助新人快速了解团队的代码规范

重构前 —— 评估现有代码质量,确定重构优先级

主要覆盖哪些方面

  1. 代码基础
    • 类型安全,避免隐式动态类型
    • 空安全处理,合理使用模式匹配
    • 异步编程规范,正确处理 Future 和 Stream
    • 避免常见陷阱(如 catch 过于宽泛、late 滥用等)
  2. 组件设计
    • 组件拆分合理,避免单个组件过于庞大
    • 合理使用 const 关键字优化性能
    • 正确使用 Key(ValueKey、GlobalKey 等)
    • 从主题获取颜色和字体样式,避免硬编码
  3. 状态管理
    • 业务逻辑与 UI 分离,组件只负责展示
    • 状态设计清晰,使用密封类型表达互斥状态
    • 状态更新 immutable,通过 copyWith 创建新实例
    • 合理控制重建范围,避免不必要的性能开销
  4. 性能优化
    • 避免在 build 方法中做耗时操作
    • 图片加载优化(缓存、压缩、懒加载)
    • 列表使用 ListView.builder 实现懒加载
    • 合理使用 RepaintBoundary 减少重绘
  5. 测试覆盖
    • 单元测试覆盖业务逻辑
    • 组件测试验证交互行为
    • 集成测试覆盖核心流程
    • 测试环境隔离,模拟外部依赖
  6. 无障碍访问
    • 语义标签完整,支持屏幕朗读
    • 颜色对比度达标(4.5:1)
    • 触摸目标尺寸足够(48x48 像素)
    • 支持系统字体大小调整
  7. 安全防护
    • 敏感数据使用安全存储(Keychain/EncryptedSharedPreferences)
    • API 密钥不硬编码,通过编译时注入
    • 用户输入验证,防止注入攻击
    • HTTPS 强制,证书校验
  8. 依赖管理
    • 评估第三方库的质量和维护状态
    • 合理使用版本约束(caret syntax)
    • 定期更新依赖,关注安全漏洞
    • 避免不必要的依赖,减少攻击面

怎么用

自我审查 —— 提交代码前对照清单自检一遍

团队审查 —— 作为代码审查的标准流程,确保不遗漏

问题排查 —— 遇到 bug 时,对照清单排查是否有常见问题

新人培训 —— 作为 Flutter 最佳实践的入门指南

核心原则

做 Flutter 开发时,记住这几条原则:

  1. 组件职责单一 —— 一个组件只做一件事,业务逻辑抽离到状态管理层
  2. 状态 immutable —— 状态不可变,更新时创建新实例
  3. 构建方法纯净 —— build 方法里只做 UI 渲染,不做数据获取或计算
  4. 测试覆盖核心逻辑 —— 特别是状态转换和边界条件
  5. 安全不妥协 —— 敏感数据加密存储,传输全程 HTTPS

适用场景

  • Flutter 项目的代码审查
  • 评估 Flutter 项目质量
  • 新人入职培训
  • 项目上线前质量检查
  • 重构前的代码评估

不适用场景

  • 纯 Dart 后端开发(主要针对 Flutter UI)
  • 原生 iOS/Android 开发(不涉及 Flutter 的部分)
  • UI 设计评审(关注代码质量而非视觉设计)
  • 性能测试(提供检查点而非性能测试工具)
v1.0.0 2026-07-17
下载