Cómo se organiza el proyecto
Dónde va cada cosa cuando la aplicación deja de caber en un fichero: la estructura que sale de todo lo anterior y las señales de que hay que dividir.
La estructura
src-tauri/src/ main.rs arranque: estado, plugins, menú, comandos registrados comandos/ finos: reciben, validan la forma, llaman, devuelven proyectos.rs sesion.rs dominio/ tipos y reglas que no dependen de nada proyecto.rs datos/ el repositorio y las migraciones. Nivel 42.4 repo.rs migraciones.rs secretos/ la capa del nivel 37.5 red/ la capa del nivel 48.5 procesos/ el helper del nivel 47.1 sistema/ menús, bandeja, notificaciones, enlacesY la propiedad que define si está bien: las carpetas del medio —dominio, datos, secretos, red, procesos— no mencionan Tauri. Solo main.rs, comandos/ y sistema/ lo hacen.
Eso no es purismo: es lo que permite que se prueben sin arrancar la aplicación, que es la razón por la que las cuatro capas se separaron en primer lugar.
Los comandos son finos
Un comando que ocupa más de veinte líneas casi siempre está haciendo trabajo que corresponde a una capa. Es la señal más práctica de este nivel.
Cuándo dividir en paquetes
Tres señales, y la primera suele bastar:
Y la división natural es la que ya tienes: el dominio y las capas van a un paquete de biblioteca; src-tauri se queda con el arranque, los comandos y el sistema. Con eso, cambiar un comando no recompila la lógica.
Las pruebas
Y dónde vive cada tipo:
- Junto a cada capa, las que la prueban sola: repositorio con base en memoria, capa de red con un servidor falso, procesos con un binario de prueba. Son la mayoría y las rápidas.
- En un directorio de pruebas del paquete de biblioteca, las que combinan capas.
- Y muy pocas que arranquen la aplicación entera, porque son lentas y frágiles. Fase XIII.
La proporción correcta es una pirámide, y la parte ancha son las pruebas de capa — que es exactamente lo que la estructura de este nivel hace posible.