Leitfaden zu Bibliotheken
Dieser Leitfaden bietet Empfehlungen für Entwickler zum Erstellen von qualitativ hochwertigen .NET-Bibliotheken. In dieser Dokumentation liegt der Fokus auf dem Was und Warum beim Erstellen einer .NET-Bibliothek und nicht auf dem Wie.
Kriterien für hochwertige .NET-Bibliotheken:
- Inklusiv: Gute .NET-Bibliotheken sind dafür ausgelegt, viele Plattformen, Programmiersprachen und Anwendungen zu unterstützen.
- Stabil: Gute .NET-Bibliotheken existieren im .NET-Ökosystem nebeneinander und werden in Anwendungen ausgeführt, die mit vielen Bibliotheken erstellt wurden.
- Für die Weiterentwickelung entworfen: .NET-Bibliotheken sollten sich im Laufe der Zeit verbessern und weiterentwickeln, während Sie vorhandene Benutzer unterstützen.
- Debugfähig: .NET-Bibliotheken sollten die neuesten Tools verwenden, um für Benutzer eine gute Debugleistung bereitzustellen.
- Vertrauenswürdig: Entwickler haben Vertrauen zu .NET-Bibliotheken, da diese mithilfe bewährter Sicherheitsmethoden Inhalte auf NuGet veröffentlichen.
Empfehlungstypen
Jeder Artikel enthält vier Empfehlungstypen: Do, Erwägen, Vermeiden und Do not. Der Empfehlungstyp kennzeichnet, wie streng die Empfehlung befolgt werden sollte.
Eine Do-Empfehlung sollten Sie fast immer befolgen. Beispiel:
✔️ DO Verteilen Sie Ihre Bibliothek mithilfe eines NuGet-Pakets.
Andererseits gibt es Empfehlungen, die Sie erwägen sollten. Berechtigte Ausnahmen bestätigen jedoch die Regel, und es ist auch nicht weiter schlimm, wenn Sie die folgende Anweisung nicht befolgen:
✔️ Erwägen Sie, SemVer 2.0.0 für die Versionskontrolle Ihres NuGet-Pakets zu verwenden.
Empfehlungen hinsichtlich Vermeiden geben Dinge an, die allgemein als keine gute Idee angesehen werden, jedoch kann das Brechen dieser Regel manchmal auch sinnvoll sein:
❌ Vermeiden Sie NuGet-Paketverweise, die eine exakte Version erfordern.
Schließlich kennzeichnen Do not-Empfehlungen Vorgänge, die Sie niemals ausführen sollten:
❌ Veröffentlichen Sie NICHT die Versionen Ihrer Bibliothek mit oder ohne starkem Namen. Beispiel: Contoso.Api
und Contoso.Api.StrongNamed
.