Table of Contents

Reference del codice (sviluppatori)

Layer di documentazione orientata al codice del portale Infocad (spec Infocad Extensive Developer Code Documentation). Obiettivo: consentire a uno sviluppatore che non ha mai lavorato su Infocad di capire l'organizzazione del codice, localizzare l'implementazione di una funzionalità, capire responsabilità di progetti/moduli/classi/metodi, come i componenti comunicano e accedono ai database, e come modificare/estendere/debuggare in sicurezza — con tracciabilità bidirezionale codice ⇄ flusso ⇄ database ⇄ API ⇄ regole.

Note

Sweep dei domini funzionali COMPLETO (DEV-1…7): 20 domini documentati — RequestCenter, Property, Booking, Energy, ECM/Documentale, Maintenance, Stock, Accounting, BIM, Census, QualityCheck, IEM, Cde, Report, Project (commesse), WorkerKit, Global, Check, BulkLoader, ExportService (+ infra DataManager). ~104 pagine code-reference, tutte con file:line verificati e tracciabilità codice ⇄ flusso ⇄ DB ⇄ regole. Ogni verticale segue lo stesso schema (progetto → modulo → classe/interfaccia → metodo → frontend). Residuo opzionale: librerie condivise (Descor.Common/Descor.Infrastructure), host di backend, e le riconciliazioni note (vedi gap-analysis dev-doc e work-queue.md). Pilota storico: FLOW-REQ-001.

Come è organizzata

Livello Dove Template
Repository (landing per sviluppatori) InfocadServer · InfocadWeb spec §9
Progetto (una pagina per progetto significativo) 16-code-reference/<repo>/<progetto>/ project-page
Namespace / modulo 16-code-reference/<repo>/<progetto>/ module-namespace-page
Classe / interfaccia (concettuale) 16-code-reference/<repo>/<progetto>/ class-interface-page
Metodo (blocco, dentro la pagina di classe) method-block
Reference API generata (DocFX metadata) API .NET (net8)
Indici (progetto/namespace/classe/metodo/endpoint/accesso-DB/config/test/estensione) Indici spec §28

Reference API generata vs. concettuale

La reference generata (docfx metadata, cartella api/) è complementare, non sostitutiva: la spec (§27) richiede che i componenti importanti abbiano anche una pagina concettuale. Ambito headless su questo host (macOS, senza Oracle Client):

  • Generata ora (net8, 0/0): Descor.Infrastructure.LogManager (10 tipi C#). Unica reference generata attualmente presente in api/.
  • Descor.DataManager (il motore GlobalDataManager/cm.Execute* su cui poggiano tutte le DAL): DataManagerXNET compila headless (net8, 0/0 via dotnet build), ma docfx metadata fallisce su VB (errori BC30002 di risoluzione dei riferimenti System.Data*). Perciò la sua reference generata è rinviata; è documentato con una pagina concettuale (obbligatoria per la spec §27).
  • Rinviato a Windows: il resto del verticale RequestCenter (RequestCenterXNET, RequestCenter.DAL.OracleODPXNET) e il bulk .NET Framework 4.8 — la chiusura delle dipendenze termina in assembly 4.8 solo-Windows (Descor.Stock.*, *.Controllers) e richiede build su Windows + Oracle Client (vedi gap-analysis e docs-site/scripts/gen-api-metadata.sh).
  • Da codice → flusso (07), oggetti DB (05), regole (08), API (04).
  • Da flusso / DB / regola → codice (back-link nelle rispettive pagine).
  • Legenda di classificazione e regole di prova: Legenda di classificazione.

Guide correlate

Onboarding, sviluppo locale, build/run/debug/test, convenzioni, task comuni, sicurezza: Guide per sviluppatori.

Legenda di classificazione

Tag Significato
VERIFIED Confermato da >=2 evidenze indipendenti.
SUPPORTED Una evidenza diretta nel codice/nei metadati.
INFERRED Deduzione ragionevole non provata direttamente.
UNKNOWN Non determinabile dalle fonti disponibili (non inventato).
CONFLICTING Fonti in disaccordo (vedi _state/conflicts.md).
DEPRECATED Obsoleto ma ancora presente.
UNREACHABLE Nessun chiamante trovato — mai per sola assenza statica (reflection/WCF/.NET Remoting/config/routing).