07. Estándares de Codificación
Fase: 02 — Project Kickoff
Entregable: 07
Proyecto: NoteVault (PC, Mac, Android, iPhone)
1. Convenciones y Reglas de Código Obligatorias
Reglas para TypeScript (PC Desktop)
- Modo Estricto:
"strict": truesin excepciones. - Prohibido
any: Emplearunknowncon type guards o tipos definidos. - Funciones Puras: La lógica de cálculo de fechas, porcentajes de hábitos, fórmulas financieras y algoritmos de repetición espaciada debe residir en funciones puras sin dependencias de I/O.
- Formato: Indentación fija de 2 espacios, saltos de línea Unix
\ny UTF-8.
Reglas para Dart (Android / iOS)
- Sound Null-Safety: Activado por defecto en
pubspec.yaml(Dart 3+). - Inmutabilidad: Usar
finalen campos de entidades y constructoresconstpara widgets. - Serialización Simétrica: Todo modelo debe implementar
toJson()y constructor factoríafromJson()tipado.
2. Marco Conceptual: Estándar de Codificación de Ingeniería
1. **Entidad principal e independiente.**
2. **Es la entidad líder del conjunto de datos:** posee un identificador global único que fija las reglas sintácticas y semánticas (`coding_standard_id`: `STANDARD-TS-DART-STRICT`) consultado en los linters.
3. **Existe por sí misma en la configuración del repositorio (`tsconfig.json`, `analysis_options.yaml`) sin depender del IDE del programador**, y es la única responsable de asegurar que el código sea uniforme, legible y mantenible por cualquier desarrollador.
4. **Punto de entrada y límite de consistencia:** El linter detiene el build ante cualquier violación de estilo.