====== Matrice Profili ====== **Versione:** 2.1\\ **Scopo:** Selezione rapida e consistente delle checklist in base al tipo di progetto. ===== Legenda ===== * **DEVE:** Applicare queste checklist per impostazione predefinita * **SE RILEVANTE:** Applicare se il set di modifiche tocca l'area * **NOTE:** Insidie tipiche e focus della revisione ===== Profili ===== ==== Modulo Crypto ==== **DEVE** * [[.:core|Core]] * [[.:sicurezza:kritis|Security KRITIS/NIS2]] * [[.:sicurezza:crypto|Crypto]] * [[.:infrastruttura:logging|Logging]] * [[.:infrastruttura:configurazione|Configurazione]] * [[.:progetto:build-metadati|Metadati Build]] * [[.:infrastruttura:documentazione|Documentazione]] * [[.:progetto:documentazione|Documentazione Progetto]] **SE RILEVANTE** * [[.:codice:prestazioni|Prestazioni]] * [[.:infrastruttura:crossplatform|Crossplatform]] **NOTE** * La resistenza agli abusi prevale su "API pulita". Progetta per correct-by-default. * Tratta i log e gli errori come potenziali oracoli. ---- ==== WebAPI ==== **DEVE** * [[.:core|Core]] * [[.:sicurezza:kritis|Security KRITIS/NIS2]] * [[.:infrastruttura:logging|Logging]] * [[.:infrastruttura:configurazione|Configurazione]] * [[.:progetto:build-configurazione|Configurazione Build]] * [[.:infrastruttura:documentazione|Documentazione]] * [[.:progetto:documentazione|Documentazione Progetto]] **SE RILEVANTE** * [[.:codice:prestazioni|Prestazioni]] * [[.:infrastruttura:crossplatform|Crossplatform]] * [[.:stack:sql|SQL]] (per accesso DB) * [[.:sicurezza:crypto|Crypto]] (per Auth/Crypto/Custom Token) **NOTE** * Parametrizzazione richiesta per accesso DB; trattare ogni input come ostile. * Disponibilità: Rate Limits, Timeout, memoria limitata, mapping errori prevedibile. ---- ==== Library (shared DLL / NuGet / Package) ==== **DEVE** * [[.:core|Core]] * [[.:codice:naming|Naming]] * [[.:codice:funzioni|Funzioni]] * [[.:progetto:build-metadati|Metadati Build]] * [[.:infrastruttura:documentazione|Documentazione]] * [[.:progetto:documentazione|Documentazione Progetto]] **SE RILEVANTE** * [[.:sicurezza:kritis|Security KRITIS/NIS2]] * [[.:codice:prestazioni|Prestazioni]] * [[.:infrastruttura:crossplatform|Crossplatform]] **NOTE** * La stabilità dell'API pubblica e il Semantic Versioning sono primari. * Evitare sorprese con dipendenze transitive. ---- ==== Desktop App (WinForms/WPF/Delphi/Qt) ==== **DEVE** * [[.:core|Core]] * [[.:progetto:build-configurazione|Configurazione Build]] * [[.:infrastruttura:logging|Logging]] * [[.:infrastruttura:configurazione|Configurazione]] * [[.:infrastruttura:documentazione|Documentazione]] **SE RILEVANTE** * [[.:infrastruttura:i18n|i18n]] (Stringhe rivolte all'utente) * [[.:sicurezza:kritis|Security KRITIS/NIS2]] (Network/Crypto/Licensing) * [[.:infrastruttura:crossplatform|Crossplatform]] (per Multi-OS) **NOTE** * Le regole di UI-Threading e Resource Cleanup sono fonti comuni di errori. * Verificare i percorsi delle impostazioni e la gestione dei dati per utente. ---- ==== Estensione VSCode ==== **DEVE** * [[.:core|Core]] * [[.:infrastruttura:crossplatform|Crossplatform]] * [[.:progetto:build-metadati|Metadati Build]] * [[.:infrastruttura:documentazione|Documentazione]] * [[.:stack:vscode-extension|Stack Estensione VSCode]] **SE RILEVANTE** * [[.:sicurezza:kritis|Security KRITIS/NIS2]] (Remote Calls, Auth, Downloads) * [[.:infrastruttura:logging|Logging]] * [[.:infrastruttura:configurazione|Configurazione]] **NOTE** * Activation Events, Contribution Points e Settings Schema devono rimanere coerenti. * Non bloccare mai l'Extension Host; il lavoro lungo deve essere annullabile. ---- ==== Componente Aggiuntivo Outlook (VSTO / Office.js) ==== **DEVE** * [[.:core|Core]] * [[.:sicurezza:kritis|Security KRITIS/NIS2]] * [[.:infrastruttura:logging|Logging]] * [[.:infrastruttura:configurazione|Configurazione]] * [[.:stack:outlook-addin|Stack Outlook AddIn]] **SE RILEVANTE** * [[.:sicurezza:crypto|Crypto]] (Workflow Sign/Encrypt) * [[.:infrastruttura:crossplatform|Crossplatform]] (Office.js Multi-Platform) **NOTE** * COM Lifetime (Release), contesto Explorer vs Inspector, sincronizzazione stato UI sono critici. * Evitare perdite di dati sensibili in Outlook Item Properties e log. ---- ==== Applicazione TUI / CLI ==== **DEVE** * [[.:core|Core]] * [[.:infrastruttura:cli-tui|CLI/TUI]] * [[.:infrastruttura:crossplatform|Crossplatform]] * [[.:infrastruttura:logging|Logging]] * [[.:infrastruttura:configurazione|Configurazione]] **SE RILEVANTE** * [[.:sicurezza:kritis|Security KRITIS/NIS2]] * [[.:codice:prestazioni|Prestazioni]] **NOTE** * Exit Code, stdout vs stderr, output compatibile con pipe e comportamento deterministico sono importanti. ---- ==== Algoritmi SQL Server ==== **DEVE** * [[.:core|Core]] * [[.:stack:sql|Stack SQL]] * [[.:sicurezza:kritis|Security KRITIS/NIS2]] **SE RILEVANTE** * [[.:codice:prestazioni|Prestazioni]] * [[.:infrastruttura:documentazione|Documentazione]] **NOTE** * Query Plans, Indexing Strategy, semantica delle transazioni e parametrizzazione sono obiettivi chiave della revisione. ---- ==== Progetti Inno Setup ==== **DEVE** * [[.:core|Core]] * [[.:stack:innosetup|Stack InnoSetup]] * [[.:progetto:build-metadati|Metadati Build]] * [[.:sicurezza:kritis|Security KRITIS/NIS2]] **SE RILEVANTE** * [[.:infrastruttura:logging|Logging]] * [[.:infrastruttura:configurazione|Configurazione]] **NOTE** * Il comportamento di Upgrade/Uninstall e la firma del codice sono punti di errore comuni. ---- ==== Progetti MS Access VBA ==== **DEVE** * [[.:core|Core]] * [[.:stack:access-vba|Stack Access VBA]] * [[.:sicurezza:kritis|Security KRITIS/NIS2]] * [[.:infrastruttura:documentazione|Documentazione]] **SE RILEVANTE** * [[.:progetto:build-metadati|Metadati Build]] **NOTE** * Build deterministici (ACCDE), References e gestione robusta degli errori sono fondamentali. ---- ==== Plugin DokuWiki ==== **DEVE** * [[.:core|Core]] * [[.:stack:dokuwiki-php|DokuWiki/PHP Security]] * [[.:sicurezza:kritis|Security KRITIS/NIS2]] * [[.:infrastruttura:logging|Logging]] * [[.:infrastruttura:configurazione|Configurazione]] * [[.:infrastruttura:documentazione|Documentazione]] **NOTE** * Trattare tutto il contenuto Page/User come ostile; seguire le API DokuWiki per Escaping/ACL. ---- //Versione: 2.1 (Split)//\\ //Autore: Wolfgang van der Stille// ~~DISCUSSION:off~~