Lenguaje Dart
Escribe Dart claro que se ajuste a la restricción del SDK y al estilo establecido del proyecto.
Decisiones
- Lee la restricción del SDK en
pubspec.yamlantes de usar sintaxis más reciente. - Prefiere tipos simples y flujo de control directo sobre abstracciones sin reutilización demostrada.
- Modela variantes cerradas con tipos sellados cuando la conmutación exhaustiva mejora la corrección.
- Usa registros para valores estructurales pequeños; usa tipos de dominio con nombre cuando importen identidad, validación, documentación o evolución.
- Usa coincidencia de patrones cuando haga más claro el bifurcamiento o la desestructuración, no como novedad.
- Conserva la compatibilidad de la API pública a menos que se solicite un cambio incompatible.
- Mantén el estado mutable privado y expón la superficie útil más pequeña.
Sigue las pautas de Dart Efectivo sobre nomenclatura, documentación, uso y diseño. Respeta las reglas de lint del repositorio en lugar de agregar una política de estilo conflictiva.
Verificación
Usa la búsqueda y el análisis semántico de Dart MCP cuando el entorno actual los exponga; de lo contrario, inspecciona el código fuente y usa la CLI del proyecto. Ejecuta el formateo, el análisis estático y las pruebas relevantes más estrechas. Al cambiar una API pública de un paquete, verifica ejemplos y sitios de llamada descendentes.
Límites
- Async, streams, cancelación y isolates: usa
dart-concurrency. - Composición de widgets Flutter o propiedad de estado: usa la habilidad Flutter correspondiente.
- El comportamiento del esquema JSON y de persistencia pertenece a la habilidad de datos correspondiente.
Referencias
- Lee migración de patrones y registros al adoptar coincidencia de patrones, desestructuración, expresiones switch o retornos múltiples.
- Lee jerarquías de clases selladas al diseñar tipos de datos algebraicos, modelos de resultados cerrados o familias de estado verificadas exhaustivamente.