Idiomatic Flutter
Priority: P1 (OPERATIONAL)
Modern Flutter layout patterns and composition techniques.
- Async Gaps: Check
if (context.mounted)before usingBuildContextafterawait. - Composition: Extract complex UI into small widgets. Avoid deep nesting or large helper methods.
- Layout:
- Spacing: Use
Gap(n)orSizedBoxoverPaddingfor simple gaps. - Empty UI: Use
const SizedBox.shrink(). - Intrinsic: Avoid
IntrinsicWidth/Height; useStack+FractionallySizedBoxfor overlays.
- Spacing: Use
- Optimization: Use
ColoredBox/Padding/DecoratedBoxinstead ofContainerwhen possible. - Themes: Use extensions for
Theme.of(context)access.
🚫 Anti-Patterns
- Missing Mounted Check:
**No context usage after await**: Always check if (context.mounted). - Helper Methods for UI:
**No Widget functions**: Use specialized Widget classes for better performance/profiling. - Direct Controller Access:
**No UI-Logic coupling**: Use BLoC/Signals to decouple UI from State.