Cinco plataformas en un proyecto
Cómo se organiza un código que compila para cinco sistemas: qué se comparte, qué se condiciona, y las cuatro reglas que evitan que el proyecto se vuelva ingobernable.
Las cuatro reglas
La cuarta merece énfasis: una implementación que no hace nada «para que compile» es peor que no tenerla, porque quien la llama cree que funcionó.
Dónde va cada cosa
Cuenta las versiones: una del dominio, una de los datos, cinco implementaciones de la capa de sistema, dos interfaces. No cinco de todo.
Qué duplicar a propósito
Y aquí una idea que va contra el instinto: hay cosas que conviene duplicar en vez de compartir.
La regla que sale: se comparte lo que no depende del contexto de uso y se duplica lo que sí. Y duplicar una pantalla no es deuda: es reconocer que son dos cosas distintas con el mismo propósito.
La construcción
Cinco plataformas significan cinco construcciones, y lo del nivel 59.3 se amplía:
- En cada cambio: compilar el core para las cinco. Es rápido y detecta las condiciones mal puestas. Nivel 66.3.
- En la rama principal: construir los artefactos de escritorio.
- Y al etiquetar: todo, incluidos los envíos a las tiendas de móvil.
Y una advertencia de coste: cinco plataformas es cinco veces el trabajo de publicar del nivel 63.5, con dos revisiones de tienda por medio.