Saltar al contenido

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

Texto
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, enlaces

Y 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.