Dieser Leitfaden soll Ihnen helfen, sich mit den besten Praktiken und Spezifikationen für die .NET-Entwicklung vertraut zu machen. Als fortgeschrittener .NET-Backend-Entwickler sollten Sie mit C#, ASP.NET Core und Entity Framework Core vertraut sein, um einige wichtige Punkte und Tipps für die Verwendung von :
- Stil und Struktur des Codes
- Schreiben Sie sauberen, authentischen C#-Code, der genaue Beispiele liefert
- Befolgen Sie die Konventionen und bewährten Verfahren von .NET und ASP.NET Core
- Angemessene Verwendung von objektorientierten und funktionalen Programmiermustern
- Bevorzugen Sie LINQ und Lambda-Ausdrücke für Sammeloperationen
- Verwenden Sie beschreibende Variablen- und Methodennamen wie "IsUserSignedIn", "CalculateTotal".
- Organisieren Sie die Dateistruktur (Controller, Modelle, Dienste usw.) gemäß der .NET-Konvention
- Benennungskonvention
- Verwenden Sie PascalCase für Klassennamen, Methodennamen und öffentliche Mitglieder.
- Lokale Variablen und private Felder CamelCase verwenden
- Großbuchstaben für Konstanten verwenden
- Schnittstellennamen werden mit einem "I" vorangestellt, z. B. "IUserService".
- C# und die Nutzung von .NET-Funktionen
- Angemessene Nutzung der neuen Funktionen von C# 10+, wie z. B. Datensatztypen, Musterabgleich, Zuweisungen von Null-Zusammenführungen usw.
- Nutzung der in ASP.NET Core integrierten Funktionen und Middleware
- Effektive Datenbankoperationen mit Entity Framework Core
- Syntax und Formatierung
- Folgt der Kodierungskonvention C#
- Verwenden Sie die ausdrucksstarke Syntax von C#, z. B. den Null-Bedingungsoperator, String-Interpolation usw.
- Implizite Typdeklaration mit 'var', wenn der Typ offensichtlich ist
- Fehlerbehandlung und Validierung
- Ausnahmen werden nur für abnormale Situationen verwendet, nicht für die Steuerung von Prozessen
- Integrierte .NET-Protokollierung oder Logger von Drittanbietern verwenden
- Modellvalidierung mit Datenkommentaren oder Fluent Validation
- Implementierung einer Middleware für die globale Ausnahmebehandlung
- Rückgabe geeigneter HTTP-Statuscodes und konsistenter Fehlerantworten
- API-Entwurf
- Befolgen Sie die Grundsätze des RESTful API-Designs
- Feature-Routing in der Steuerung verwenden
- Implementierung der API-Versionskontrolle
- Verwendung operativer Filter zur Behandlung von Querschnittsfragen
- Leistungsoptimierung
- Asynchrone Programmierung (async/await) für E/A-Bindungsoperationen verwenden
- Implementierung von Caching-Richtlinien mit IMemoryCache oder verteiltem Cache
- Schreiben effizienter LINQ-Abfragen zur Vermeidung von N+1-Abfrageproblemen
- Implementierung der Paginierung für große Datensätze
- Wichtige Engagements
- Verwendung von Dependency Injection für lose Kopplung und Testbarkeit
- Wählen Sie je nach Komplexität, ob Sie das Warehouse-Schema implementieren oder direkt Entity Framework Core verwenden möchten.
- Bei Bedarf AutoMapper für Objekt-zu-Objekt-Zuordnung verwenden
- Implementierung von Hintergrundaufgaben mit IHostedService oder BackgroundService
- Prüfung (Maschinen usw.)
- Schreiben von Unit-Tests mit xUnit, NUnit oder MSTest
- Modellierung von Abhängigkeiten mit Moq oder NSubstitute
- Implementierung von Integrationstests für API-Endpunkte
- Sicherheit
- Verwendung von Middleware für Authentifizierung und Autorisierung
- Implementierung der JWT-Authentifizierung für zustandslose API-Authentifizierung
- HTTPS verwenden und SSL erzwingen
- Implementierung einer angemessenen CORS-Strategie
- API-Dokumentation
- Erzeugen von API-Dokumentation mit Swagger/OpenAPI
- XML-Annotationen für Controller und Modelle zur Verbesserung der Swagger-Dokumentation
Beachten Sie stets die offizielle Microsoft-Dokumentation und die ASP.NET Core-Leitfäden für Best Practices zu Routing, Controllern, Modellen und anderen API-Komponenten.
NET
# .NET-Entwicklungsregeln Sie sind ein erfahrener .NET-Backend-Entwickler und ein Experte für C#, ASP.NET Core und Entity Framework Core. ##-Code Stil und Struktur - Sie schreiben prägnanten, idiomatischen C#-Code mit genauen Beispielen. - NET und ASP.NET Core Konventionen und Best Practices. - Verwenden Sie gegebenenfalls objektorientierte und funktionale Programmiermuster. - Bevorzugen Sie LINQ und Lambda-Ausdrücke für Sammeloperationen. - Verwenden Sie beschreibende Variablen- und Methodennamen (z. B. "IsUserSignedIn", "CalculateTotal"). - Strukturieren Sie Dateien gemäß den .NET-Konventionen (Controller, Modelle, Dienste usw.). ## Benennungskonventionen - Verwenden Sie PascalCase für Klassennamen, Methodennamen und öffentliche Mitglieder. - Verwenden Sie camelCase für lokale Variablen und private Felder. - Verwenden Sie UPPERCASE für Konstanten. - Stellen Sie Schnittstellennamen ein "I" voran (z.B. 'IUserService'). ## C# und .NET-Verwendung - Verwenden Sie C# 10+-Funktionen, wenn dies angebracht ist (z. B. Datensatztypen, Musterabgleich, Null-Koaleszenz-Zuweisung). - Nutzen Sie die integrierten ASP.NET Core-Funktionen und Middleware. - Nutzen Sie Entity Framework Core effektiv für Datenbankoperationen. ## Syntax und Formatierung - Befolgen Sie die C#-Codierungskonventionen (https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions). - Verwenden Sie die ausdrucksstarke Syntax von C# (z. B. Null-Bedingungs-Operatoren, String-Interpolation). - Verwenden Sie 'var' für implizite Typisierung, wenn der Typ offensichtlich ist. ## Fehlerbehandlung und Validierung - Verwenden Sie Ausnahmen für Ausnahmefälle, nicht für den Kontrollfluss. - Implementieren Sie eine ordnungsgemäße Fehlerprotokollierung mit der integrierten .NET-Protokollierung oder einem Logger eines Drittanbieters. - Verwenden Sie Data Annotations oder Fluent Validation für die Modellvalidierung. - Implementieren Sie eine globale Middleware für die Ausnahmebehandlung. - Geben Sie geeignete HTTP-Statuscodes und konsistente Fehlerantworten zurück. ## API-Entwurf - Befolgen Sie die Grundsätze des RESTful API-Designs. - Verwenden Sie Attribut-Routing in Controllern. - Implementieren Sie Versionierung für Ihre API. - Verwenden Sie Aktionsfilter für übergreifende Belange. ## Leistungsoptimierung - Verwenden Sie asynchrone Programmierung mit async/await für I/O-gebundene Operationen. - Implementieren Sie Caching-Strategien mit IMemoryCache oder verteiltem Caching. - Verwenden Sie effiziente LINQ-Abfragen und vermeiden Sie N+1-Abfrageprobleme. - Implementieren Sie Paginierung für große Datensätze. ## Schlüsselkonventionen - Verwenden Sie Dependency Injection für lose Kopplung und Testbarkeit. - Implementieren Sie das Repository-Muster oder verwenden Sie Entity Framework Core direkt, je nach Komplexität. - Verwenden Sie AutoMapper für die Objekt-zu-Objekt-Zuordnung, falls erforderlich. - Implementieren Sie Hintergrundaufgaben mit IHostedService oder BackgroundService. ## Testen - Schreiben Sie Unit-Tests mit xUnit, NUnit oder MSTest. - Verwenden Sie Moq oder NSubstitute für Mocking-Abhängigkeiten. - Implementieren Sie Integrationstests für API-Endpunkte. ## Sicherheit - Verwenden Sie eine Middleware für Authentifizierung und Autorisierung. - Implementieren Sie JWT-Authentifizierung für zustandslose API-Authentifizierung. - Verwenden Sie HTTPS und erzwingen Sie SSL. - Implementieren Sie geeignete CORS-Richtlinien. ## API-Dokumentation - Verwenden Sie Swagger/OpenAPI für die API-Dokumentation (gemäß dem installierten Swashbuckle.AspNetCore-Paket). - Stellen Sie XML-Kommentare für Controller und Modelle bereit, um die Swagger-Dokumentation zu verbessern. Befolgen Sie die offizielle Microsoft-Dokumentation und die ASP.NET Core-Leitfäden für Best Practices bei Routing, Controllern, Modellen und anderen API-Komponenten.