Sistema de tipos con Scala 3 para conciliación bancaria
Visión general
De qué trata este proyecto.
Audita la librería actual (Scala 2.13, provista). Define tipos opacos para identificadores y montos sin riesgo de mezclarlos. Modela los 5 formatos como type-level cases. Usa given/using para resolver el parser correcto según formato. Aplica match types donde aporten claridad. Mantén compatibilidad con la API pública mediante deprecations sensatas. Entrega código Scala 3, suite de tests que demuestre que mezclas inválidas no compilan, guía de migración y release notes claras para los clientes.
El Briefing
Lo que harás y lo que demostrarás.
Migrar la librería de conciliación a Scala 3 con tipos opacos y given/using que hagan imposible mezclar formatos en tiempo de compilación.
Earning criteria — what you'll demonstrate
- Aplicar tipos opacos para distinguir cantidades semánticamente distintas
- Usar given/using para resolución de instancias clara
- Diseñar APIs que mejoren en Scala 3 sin romper consumidores existentes
- Comunicar cambios breaking sin perder confianza del cliente
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosIngeniero de Software
Migrar a Scala 3 explotando tipos opacos es el músculo de tipos que separa a quien escribe Scala-Java vs quien aprovecha la expresividad del lenguaje.
Este proyecto afina
- scala
- opaque-types
- type-driven-design
Ingeniero de Backend
Aplicar tipos para eliminar errores semánticos en pipelines de conciliación es backend defensivo que reduce soportes en producción.
Este proyecto afina
- scala
- type-driven-design
- library-design