DAFce — Proyecto y Estructura
Reglas de Oro
- •Cada paso debe compilar y pasar tests antes de continuar
- •Commits pequeños — un commit por paso completado
- •Tests primero cuando sea posible (BDD)
- •No romper API existente hasta que el nuevo modelo funcione
- •Los samples y los tests dependen del framework: si se modifica el framework, se debe recompilar antes que los samples y tests
Estructura objetivo del Monorepo
Esta es la estructura deseada. La migración está en curso: no todos los módulos la cumplen todavía. Cuando se cree o modifique un módulo, debe adaptarse a este patrón.
code
src/
├── source.optset # Optset para código fuente
├── samples.optset # Optset para samples (centralizado)
├── test.optset # Optset para tests (centralizado)
├── DAFGroup.groupproj # Agrupa todos los módulos del framework
├── DAFSamples.groupproj # Agrupa TODOS los samples (transversal)
├── DAFTestGroup.groupproj # Agrupa TODOS los tests (transversal)
│
└── [Module]/
├── Daf.[Module].dproj # Proyecto del módulo
├── Daf.[Module].dpk # Paquete del módulo
├── [Module].Samples.groupproj # Compila samples del módulo
├── [Module].Tests.groupproj # Compila tests del módulo
├── README.md # Documentación principal (en)
├── README.es.md # Documentación principal (es)
├── docs/ # Documentación extendida
│ ├── GUIDE.md
│ ├── GUIDE.es.md
│ └── ...
├── samples/
│ └── [SampleName]/
│ └── [SampleName].dproj
└── test/
└── [Module]Specs.dproj
Archivos clave
| Archivo | Ubicación | Propósito |
|---|---|---|
source.optset | src/ | Configuración de compilación para código fuente |
samples.optset | src/ | Configuración para todos los samples |
test.optset | src/ | Configuración para todos los tests |
DAFSamples.groupproj | src/ | Compila TODOS los samples del proyecto |
DAFTestGroup.groupproj | src/ | Compila TODOS los tests del proyecto |
[Module].Samples.groupproj | src/[Module]/ | Compila solo samples de ese módulo |
[Module].Tests.groupproj | src/[Module]/ | Compila solo tests de ese módulo |