← ClaudeAtlas

flutter-dart-code-reviewlisted

Library-agnostic Flutter/Dart code review checklist covering widget best practices, state management patterns (BLoC, Riverpod, Provider, GetX, MobX, Signals), Dart idioms, performance, accessibility, security, and clean architecture.
jjackkun/claude-harness-hermes · ★ 0 · Code & Development · score 75
Install: claude install-skill jjackkun/claude-harness-hermes
# Flutter/Dart Code Review Best Practices Comprehensive, library-agnostic checklist for reviewing Flutter/Dart applications. These principles apply regardless of which state management solution, routing library, or DI framework is used. --- ## 1. General Project Health - [ ] Project follows consistent folder structure (feature-first or layer-first) - [ ] Proper separation of concerns: UI, business logic, data layers - [ ] No business logic in widgets; widgets are purely presentational - [ ] `pubspec.yaml` is clean — no unused dependencies, versions pinned appropriately - [ ] `analysis_options.yaml` includes a strict lint set with strict analyzer settings enabled - [ ] No `print()` statements in production code — use `dart:developer` `log()` or a logging package - [ ] Generated files (`.g.dart`, `.freezed.dart`, `.gr.dart`) are up-to-date or in `.gitignore` - [ ] Platform-specific code isolated behind abstractions --- ## 2. Dart Language Pitfalls - [ ] **Implicit dynamic**: Missing type annotations leading to `dynamic` — enable `strict-casts`, `strict-inference`, `strict-raw-types` - [ ] **Null safety misuse**: Excessive `!` (bang operator) instead of proper null checks or Dart 3 pattern matching (`if (value case var v?)`) - [ ] **Type promotion failures**: Using `this.field` where local variable promotion would work - [ ] **Catching too broadly**: `catch (e)` without `on` clause; always specify exception types - [ ] **Catching `Error`**: `Error` subtypes indicate bugs