跳转至

Flutter 代码审查

该命令会调用 flutter-reviewer 智能体,审查 Flutter/Dart 代码变更。

该命令的工作方式

  1. 收集上下文:审查 git diff --staged 和 git diff
  2. 调查项目:检查 pubspec.yaml、analysis_options.yaml 和状态管理方案
  3. 安全预扫描:检查硬编码密钥和严重安全问题
  4. 完整审查:应用完整审查检查清单
  5. 报告发现:按严重级别分组输出问题,并附带修复指南

前提条件

在运行 /flutter-review 之前,请确认以下事项: 1. 构建通过 — 先运行 /flutter-build。审查损坏的代码是不完整的 2. 测试通过 — 运行 /flutter-test 确认没有回归 3. 没有合并冲突 — 解决所有冲突,确保 diff 仅反映预期变更 4. flutter analyze 干净 — 在审查前修复分析器警告

使用时机

使用 /flutter-review 的时机: - 提交包含 Flutter/Dart 变更的 PR 之前(构建和测试通过后) - 实现新功能后,以便尽早发现问题 - 审查他人的 Flutter 代码时 - 审计 Widget、状态管理组件或服务类时 - 生产发布前

审查领域

领域 严重级别
硬编码密钥、明文 HTTP CRITICAL
架构违规、状态管理反模式 CRITICAL
Widget 重建问题、资源泄漏 HIGH
缺少 dispose()、await 后的 BuildContext HIGH
Dart 空安全、缺少错误/加载状态 HIGH
Const 传播、Widget 组合 HIGH
性能:build() 内的高成本处理 HIGH
可访问性、语义标签 MEDIUM
缺少状态转换测试 HIGH
硬编码字符串(l10n) MEDIUM
Pub 依赖项卫生管理 LOW

会话示例

User: /flutter-review

Agent:
# Flutterコードレビュー

## コンテキスト

変更されたファイル:
- lib/features/auth/presentation/login_page.dart
- lib/features/auth/data/auth_repository_impl.dart

状態管理: Riverpod(pubspec.yamlから検出)
アーキテクチャ: feature-first

## セキュリティ事前スキャン

✓ ハードコードされたシークレットは検出されませんでした
✓ 平文HTTPコールはありません

## レビュー所見

[HIGH] 非同期ギャップ後にmountedチェックなしでBuildContextを使用
File: lib/features/auth/presentation/login_page.dart:67
Issue: `context.go('/home')`が`await auth.login(...)`の後に`mounted`チェックなしで呼び出されている。
Fix: await後のナビゲーション前に`if (!context.mounted) return;`を追加(Flutter 3.7+)。

[HIGH] AsyncValueのエラー状態が未処理
File: lib/features/auth/presentation/login_page.dart:42
Issue: `ref.watch(authProvider)`がloading/dataでswitchしているが、`error`ブランチがない。
Fix: switch式または`when()`コールにerrorケースを追加してユーザー向けエラーメッセージを表示。

[MEDIUM] ハードコードされた文字列がローカライズされていない
File: lib/features/auth/presentation/login_page.dart:89
Issue: `Text('Login')` — ユーザーに表示される文字列がローカライゼーションシステムを使用していない。
Fix: プロジェクトのl10nアクセサを使用: `Text(context.l10n.loginButton)`。

## レビューサマリー

| 重大度 | 件数 | ステータス |
|--------|------|-----------|
| CRITICAL | 0     | pass   |
| HIGH     | 2     | block  |
| MEDIUM   | 1     | info   |
| LOW      | 0     | note   |

判定: BLOCK — HIGH問題はマージ前に修正が必要です。

批准标准

  • 批准:没有 CRITICAL 或 HIGH 问题
  • 阻止:CRITICAL 或 HIGH 问题必须在合并前修复
  • /flutter-build — 先修复构建错误
  • /flutter-test — 审查前运行测试
  • /code-review — 通用代码审查(语言无关)
  • 智能体:agents/flutter-reviewer.md
  • 技能:skills/flutter-dart-code-review/
  • 规则:rules/dart/

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC