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 inapi/. Descor.DataManager(il motoreGlobalDataManager/cm.Execute*su cui poggiano tutte le DAL):DataManagerXNETcompila headless (net8, 0/0 viadotnet build), madocfx metadatafallisce su VB (erroriBC30002di risoluzione dei riferimentiSystem.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 edocs-site/scripts/gen-api-metadata.sh).
Navigazione (traceability)
- 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). |