Langage Dart
Écrivez un Dart clair qui respecte la contrainte de SDK du projet et le style établi.
Décisions
- Lisez la contrainte de SDK dans
pubspec.yamlavant d'utiliser une syntaxe plus récente. - Préférez les types simples et le flux de contrôle direct aux abstractions sans réutilisation démontrée.
- Modélisez les variantes fermées avec des types scellés lorsque le changement exhaustif améliore la correction.
- Utilisez des enregistrements pour les petites valeurs structurelles ; utilisez des types de domaine nommés lorsque l'identité, la validation, la documentation ou l'évolution sont importantes.
- Utilisez le pattern matching lorsqu'il rend le branchement ou la déstructuration plus clairs, pas par effet de mode.
- Préservez la compatibilité de l'API publique, sauf si un changement cassant est demandé.
- Gardez l'état mutable privé et exposez la surface utile la plus petite.
Suivez les directives nommées, la documentation, l'utilisation et la conception d'Effective Dart. Respectez les règles de lint du dépôt plutôt que d'ajouter une politique de style conflictuelle.
Vérification
Utilisez la recherche sémantique et l'analyse du MCP Dart lorsque l'environnement actuel les expose ; sinon, inspectez le code source et utilisez la CLI du projet. Exécutez le formatage, l'analyse statique et les tests les plus étroits pertinents. Lorsque vous modifiez une API publique d'un package, vérifiez les exemples et les sites d'appel en aval.
Limites
- Asynchrone, flux, annulation et isolates : utilisez
dart-concurrency. - Composition de widgets Flutter ou propriété de l'état : utilisez le skill Flutter pertinent.
- Le comportement de JSON et des schémas de persistance relève du skill de données correspondant.
Références
- Lisez patterns and records migration lorsque vous adoptez le pattern matching, la déstructuration, les expressions switch ou les retours multiples.
- Lisez sealed class hierarchies lorsque vous concevez des types de données algébriques, des modèles de résultats fermés ou des familles d'états vérifiées exhaustivement.