--- name: flutter-tips description: > Flutter/Dart 実践 Tips とコーディング規約。Dart 3.10+ dot shorthand・ switch パターンマッチング・専用ウィジェット・マジックナンバー排除・ 宣言的リスト・テスト品質・lint 設定・型プロモーションのためのローカル変数化・ String index アクセス回避など 23 項目。 コード追加・レビュー・リファクタリング時に参照。 --- # Flutter / Dart 実践 Tips > このプロジェクトは Dart ^3.11.4 / Flutter 3.x を使用。全機能が利用可能。 ## Tips 早見表 | # | Tips | キーワード | 参照 | |---|---|---|---| | 1 | switch パターンマッチング | if/else → switch 式 | [dart-language.md](references/dart-language.md) | | 2 | null チェック `case final` | `!` 排除 | [dart-language.md](references/dart-language.md) | | 3 | デストラクチャリング | Records, `.wait` | [dart-language.md](references/dart-language.md) | | 4 | Dot Shorthand (3.10+) | `.min`, `.circle`, `.w700` | [dart-language.md](references/dart-language.md) | | 5 | 宣言的リストリテラル | collection-if/for, spread | [dart-language.md](references/dart-language.md) | | 6 | Wildcard Variables (3.7+) | `_` プレースホルダー | [dart-language.md](references/dart-language.md) | | 9 | 冗長 async/await 排除 | 単純 Future 返却 | [code-quality.md](references/code-quality.md) | | 10 | ignore コメントに理由 | lint suppress | [code-quality.md](references/code-quality.md) | | 11 | Logger 構造化パラメータ | `severe('msg', e)` | [code-quality.md](references/code-quality.md) | | 12 | マジックナンバー排除 | 名前付き定数 | [code-quality.md](references/code-quality.md) | | 13 | ネスト三項→switch | 可読性 | [code-quality.md](references/code-quality.md) | | 14 | 型プロモーション | ローカル変数化で `!` 不要 | [code-quality.md](references/code-quality.md) | | 15 | String index 回避 | `firstGrapheme()` | [code-quality.md](references/code-quality.md) | | 16 | Lint 設定 | riverpod_lint, custom_lint | [code-quality.md](references/code-quality.md) | | 17 | 専用ウィジェット | Container → Padding/SizedBox | [flutter-widget.md](references/flutter-widget.md) | | 18 | Sliver プレフィックス | 命名規約 | [flutter-widget.md](references/flutter-widget.md) | | 19 | Widget クラス分離 | メソッド → クラス | [flutter-widget.md](references/flutter-widget.md) | | 20 | build() 計算回避 | initState / notifier | [flutter-widget.md](references/flutter-widget.md) | | 21 | compute() で Isolate | UI フリーズ防止 | [flutter-widget.md](references/flutter-widget.md) | ## いつどのファイルを読むか - **Dart 言語機能**(switch, dot shorthand, null チェック, デストラクチャリング)→ [dart-language.md](references/dart-language.md) - **コード品質**(マジックナンバー, 型プロモーション, String index, lint)→ [code-quality.md](references/code-quality.md) - **Widget 選択・構造**(Container 置換, クラス分離, compute)→ [flutter-widget.md](references/flutter-widget.md)