Roadmap
Fasi di sviluppo dall'igiene del codice alle nuove funzionalità. Istantanea del 18/05/2026 — P1 + P2 + P5 + P6 consegnati, P3 + P7 in corso.
P5 — Convertitori di formato
16/17 convertitori di formato bidirezionali consegnati sui 6 port storici + 13 convertitori non binari propagati a 9 port aggiuntivi. GeoParquet rimandato (dipende da Apache Parquet).
- TSV — delega al motore CSV con blocco tab
- YAML — parser interno senza dipendenze, sottoinsieme blocco
- JSONC — rimozione commenti + pipeline JSON
- JSON5 — tokenizer personalizzato per il completo sovrainsieme JSON5
- SOAP — wrapper XML con rimozione namespace
- GeoJSON — validazione RFC 7946
- KML — parser XML interno con raggruppamento di sibling
- GPX — wrapper array XML, parsing automatico dei numeri
- LOG — regex configurabile, emissione tramite template
- Syslog — auto-rilevamento RFC 5424 + RFC 3164
- NPY — interno senza dipendenze (NEP-1 v1.0)
- FITS — interno senza dipendenze (FITS 4.0 HDU primario)
- MAT v5 — interno senza dipendenze (10 classi numeriche)
- DTA v118 — interno senza dipendenze (Stata 14)
- RData — interno senza dipendenze (R RDS V2/V3 XDR)
- SHP — interno senza dipendenze (ESRI Shapefile, 5 tipi)
- Tripletta SHP (.shp + .shx + .dbf) propagata a 11 port
- GeoParquet — rimandato (dipende da Parquet)
P1 — Igiene del codice
4 bug Sonar corretti, hotspot di complessità cognitiva risolti, letterali di test deduplicati. 0 bug aperti, 0 critici, 0 blocker sui 6 port strumentati.
- 4 bug SonarQube corretti (0 bug aperti a livello di progetto)
- Principali hotspot S3776 di complessità cognitiva risolti
- Deduplicazione dei letterali di test sui 6 port storici
- Suite di test C / VB.NET / PHP / C# suddivise per formato
- 0 new_violations · 0 new_bugs · 0 new_blocker · 0 new_critical
P2 — Copertura
Nuova copertura SonarQube all'83,7% (obiettivo ≥ 80%). 6 port Tier 1 strumentati incluso Java JaCoCo + PHP Clover.
- new_coverage: 49,9% → 83,7% (obiettivo ≥ 80% raggiunto)
- Copertura progetto: 53,7% → 79,4%
- JS, Python, Go, Rust, Java (JaCoCo), C#, PHP tutti strumentati
- Quality Gate: 3/4 condizioni OK (resta solo il quirk hotspots-reviewed 0/0)
P6 — Audit di conformità (15 port)
Audit di conformità a 5 agenti chiuso (run #6, 18/05/2026). 15/15 port verdi al 100%, 3.365 casi di test verdi, 0 HARD-FAIL. 12 siti di concatenazione O(N²) eliminati nei hot path.
- 9 port aggiuntivi propagati: PHP, R, Perl, VB.NET, Swift, C++, C, Delphi/FreePascal, Fortran
- Serializer Serde nativo su Rust (bypassa serde_json::to_value)
- Concatenazioni O(N²) eliminate su R, Delphi, Fortran (12 siti)
- Percorso SOAP value→XML diretto (nessun round-trip TOON-string)
- 10 fixture ufficiali RFC/OGC/spec aggiunte (geo + RFC + sci)
- Formati binari (NPY/FITS/MAT/DTA/RData) propagati a PHP, Perl, VB.NET, C, C++
- Verdetto globale audit: FAIL → WARN (solo perf periferiche residue)
P3 — Refactoring
Suddivisione modulare dei file per port, progetti di test estratti, suite di conformità condivisa. Progetti di test C# / C / PHP / VB.NET già suddivisi.
- Monoliti suddivisi sotto 500 LOC per file
- csharp/Tests/ToonConverter.Tests.csproj estratto ✓
- Test C / VB.NET / PHP suddivisi per formato ✓
- Suite conformance/ condivisa cross-port
P7 — Propagazione dei formati binari
Propagare NPY / FITS / MAT v5 / DTA v118 / RData ai 4 port aggiuntivi rimanenti (R, Delphi/FPC, Fortran, Swift). Risolvere il debito binario residuo C++.
- Formati binari su R, Delphi/FPC, Fortran, Swift
- Residuo C++: DTA float = 0.0 + quoting endian MAT (4 test)
- Estensione della copertura Sonar a 9 port Tier 2
P4 — Nuove funzionalità
Strumento CLI autonomo, formato TOON binario, mapper aggiuntivi (Avro, Protobuf, Parquet — abilita GeoParquet).
- Convertitore CLI autonomo
- Formato TOON binario
- Mapper Avro
- Mapper Protobuf
- Mapper Parquet (abilita GeoParquet)