Sauberer Code in C#: So schreiben Sie, dass Sie es Ihren Kollegen zeigen können

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung: Warum sauberer Code nicht nur Ästhetik, sondern auch Geld ist

Stellen Sie sich vor, Sie fangen einen neuen Job an, öffnen ein C#-Projekt und sehen eine Methode mit 500 Zeilen, Variablen wie a, b, temp und Kommentare in einer Mischung aus Russisch und Englisch. Kommt Ihnen bekannt vor? Wahrscheinlich ja. Solcher Code funktioniert zwar, aber seine Wartung wird zur Hölle. Sauberer Code in C# ist keine Marotte von Perfektionisten, sondern ein Werkzeug, das Stunden, Nerven und Geld des Teams spart.

In diesem Artikel halten wir keine Moralpredigten. Stattdessen betrachten wir konkrete Techniken, die Ihnen helfen, in C# so zu schreiben, dass der Code für Anfänger verständlich ist und erfahrene Entwickler erfreut. Los geht's!



1. Namen sind wichtig: Wie man Variablen, Methoden und Klassen benennt

Der einfachste Weg, Code sauberer zu machen, ist die Verwendung aussagekräftiger Namen. C# ist streng bei der Groß-/Kleinschreibung, aber das ist keine Ausrede für int x oder string d.



Variablen: Sagen Sie, was Sie speichern

Schlecht:

int d; // Was ist das? Datum? Distanz? Geld?string n; // Name? Nummer? Notebook?

Gut:

int daysUntilDeadline;string userName;

Die Regel ist einfach: Wenn Sie in einem Monat ohne Kommentar nicht verstehen, was eine Variable speichert, ist der Name schlecht. Vermeiden Sie Abkürzungen wie usr oder cnt – sie sparen Sekunden beim Tippen, kosten aber Minuten beim Lesen.



Methoden: Verb + Substantiv

Eine Methode ist eine Aktion. Benennen Sie sie so, dass klar ist, was sie tut:

  • CalculateTotalPrice() – berechnet den Gesamtpreis;
  • SendEmailNotification() – sendet eine Benachrichtigung;
  • ValidateUserInput() – überprüft die Benutzereingabe.

Schlechtes Beispiel: ProcessData() – zu abstrakt. Was bedeutet "verarbeiten"? Löschen? Umwandeln? Speichern?



Klassen: Substantive im Singular oder Plural

Eine Klasse ist eine Entität. User, Order, PaymentProcessor. Vermeiden Sie Suffixe wie Manager oder Helper, wenn sie architektonisch nicht gerechtfertigt sind. Oft werden solche Klassen zu "Müllhalden" für alles Mögliche.



2. Methoden sollten klein sein und eine Sache tun

Die goldene Regel für sauberen Code: Eine Methode sollte eine Aufgabe lösen und diese gut lösen. Wenn eine Methode mehr als 20–30 Zeilen umfasst, sollte sie wahrscheinlich aufgeteilt werden.



Beispiel: Refactoring eines Monsters

Stellen Sie sich eine Methode vor, die einen Benutzer registriert:

public void RegisterUser(string name, string email){    // Validierung    if (string.IsNullOrWhiteSpace(name)) throw new ArgumentException();    if (!email.Contains("@")) throw new ArgumentException();    // Speichern in der DB    using var db = new AppDbContext();    var user = new User { Name = name, Email = email };    db.Users.Add(user);    db.SaveChanges();    // E-Mail senden    var smtp = new SmtpClient();    smtp.Send("admin@site.com", email, "Welcome", "Hello!");}

Was ist hier falsch? Drei Verantwortlichkeiten: Validierung, Datenbankarbeit, E-Mail-Versand. Wenn sich die Versandlogik ändert, muss die Registrierungsmethode angepasst werden. Teilen wir auf:

public void RegisterUser(string name, string email){    ValidateUser(name, email);    var user = CreateUser(name, email);    SaveUser(user);    SendWelcomeEmail(email);}

private void ValidateUser(string name, string email){ if (string.IsNullOrWhiteSpace(name)) throw new ArgumentException("Name is required", nameof(name)); if (!email.Contains("@")) throw new ArgumentException("Invalid email", nameof(email));}

private User CreateUser(string name, string email){ return new User { Name = name, Email = email };}

private void SaveUser(User user){ using var db = new AppDbContext(); db.Users.Add(user); db.SaveCh

Blogs

Buchempfehlungen