Skip to content

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": true sin excepciones.
  • Prohibido any: Emplear unknown con 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 \n y UTF-8.

Reglas para Dart (Android / iOS)

  • Sound Null-Safety: Activado por defecto en pubspec.yaml (Dart 3+).
  • Inmutabilidad: Usar final en campos de entidades y constructores const para widgets.
  • Serialización Simétrica: Todo modelo debe implementar toJson() y constructor factoría fromJson() 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.