Arquitectura5 de junio de 20261 min

Límites antes que features

La forma más rápida de hacer que un código pequeño se sienta enorme es dejar que las features se filtren entre sí. Un módulo mete mano en los datos de otro, un controlador empieza a saber de la base de datos, y seis meses después cada cambio toca cinco archivos.

Por eso, antes de escribir features, trazo límites.

Qué es un límite

Un límite es una línea que acuerdas no cruzar a la ligera. De un lado vive el dominio — las reglas que son ciertas sin importar el framework ni la base de datos. Del otro lado viven los detalles: HTTP, SQL, la UI. El dominio no depende de nada; los detalles dependen del dominio.

Por qué primero, no después

Puedes refactorizar hacia los límites después, pero es caro — para entonces las filtraciones ya sostienen el peso. Trazar la línea primero es casi gratis: es una decisión sobre dónde se le permite vivir al código, tomada antes de que haya código que mover.

Es el mismo instinto de mantener las decisiones reversibles. Un límite es un lugar donde puedes cambiar un lado sin perturbar el otro — la base de datos, el mecanismo de entrega, incluso el framework. La feature ni se entera.

No se trata de predecir el futuro. Se trata de hacer el presente barato de cambiar.

Notas relacionadas