Linee guida per la libreria
Questo materiale sussidiario offre indicazioni agli sviluppatori per la creazione di librerie .NET di qualità. Questa documentazione è incentrata sul cosa e sul perché compilare una libreria .NET, non sul come eseguire l'operazione.
Aspetti delle librerie .NET di alta qualità:
- Inclusive: le librerie .NET di qualità in genere supportano molti linguaggi di programmazione, piattaforme e applicazioni.
- Stabili: le librerie .NET di qualità coesistono nell'ecosistema .NET e vengono eseguite in applicazioni compilate con molte librerie.
- Progettate per l'evoluzione: le librerie .NET di qualità devono migliorare ed evolvere nel tempo, supportando gli utenti esistenti.
- Sottoponibili a debug: le librerie .NET devono usare gli strumenti più aggiornati, in modo da creare un'esperienza di debug ottimale per gli utenti.
- Attendibili: le librerie .NET devono risultare attendibili per gli sviluppatori grazie alla pubblicazione in NuGet con le procedure di sicurezza consigliate.
Tipi di suggerimenti
Ogni articolo presenta quattro tipi di suggerimenti: Da fare, Da considerare, Da evitare e Da non fare. Il tipo di suggerimento indica quanto è importante che venga osservato.
È opportuno seguire quasi sempre un suggerimento di tipo Da fare. Ad esempio:
✔️ DA FARE Distribuire la libreria usando un pacchetto NuGet.
In genere è utile osservare le indicazioni di tipo Da considerare, ma esistono eccezioni giustificate alla regola e il fatto di non osservarla non deve rappresentare un problema:
✔️ DA CONSIDERARE Usare SemVer 2.0.0 per la gestione versioni del pacchetto NuGet.
I suggerimenti di tipo Da evitare si riferiscono a operazioni in genere non consigliabili, ma che talvolta possono avere un'utilità:
❌EVITARE NuGet riferimenti al pacchetto che richiedono una versione esatta.
E infine, i suggerimenti di tipo Da non fare indicano operazioni che quasi sempre è necessario evitare:
❌ NON pubblicare versioni con nome sicuro e non con nome sicuro della libreria. Ad esempio, Contoso.Api
e Contoso.Api.StrongNamed
.