Clean Code: Prinzipien für besseren, wartbaren Code

Code wird öfter gelesen als geschrieben. Clean Code ist Code, der leicht zu verstehen, zu ändern und zu erweitern ist. In diesem Artikel zeige ich Ihnen die wichtigsten Prinzipien, die Ihren Code von „funktioniert“ zu „professionell“ heben.

Was ist Clean Code?

Der Begriff wurde durch Robert C. Martin („Uncle Bob“) geprägt. Clean Code ist nicht nur Code, der funktioniert. Er ist Code, den andere Entwickler verstehen und weiterentwickeln können, ohne jede Zeile mühsam analysieren zu müssen.

Das Ziel: Code sollte sich lesen wie gut geschriebene Prosa. Die Absicht sollte sofort klar sein, ohne Kommentare als Krücke zu benötigen.

Aussagekräftige Namen

Namen sind überall: Variablen, Funktionen, Klassen, Dateien. Gute Namen eliminieren die Notwendigkeit für Kommentare.

Schlecht

let d; // verstrichene Tage
let list1;
function calc(a, b) { }
const data = fetchData();

Gut

let daysSinceCreation;
let activeUsers;
function calculateTax(price, rate) { }
const userProfile = fetchUserProfile();
  • Namen sollten die Absicht offenbaren, nicht die Implementierung
  • Vermeiden Sie Abkürzungen und kryptische Namen
  • Booleans sollten wie Fragen klingen: isActive, hasPermission
  • Funktionen sollten mit einem Verb beginnen: calculateTotal, sendEmail

Kleine Funktionen

Funktionen sollten eine Sache tun, und diese gut. Eine Funktion mit 200 Zeilen macht fast immer mehrere Dinge. Teilen Sie sie auf.

Faustregel: Eine Funktion sollte auf einen Bildschirm passen, idealerweise unter 20 Zeilen. Wenn Sie scrollen müssen, ist sie wahrscheinlich zu lang.

Die Parameter einer Funktion sollten minimal sein. Null bis zwei Parameter sind ideal. Bei mehr als drei sollten Sie überlegen, ob ein Objekt besser wäre:

// Schwer zu lesen und fehleranfällig
createUser("Max", "Mustermann", "max@email.de", true, "admin", 1);

// Besser: Ein Options-Objekt
createUser({
  firstName: "Max",
  lastName: "Mustermann",
  email: "max@email.de",
  isActive: true,
  role: "admin",
  departmentId: 1
});

DRY: Don’t Repeat Yourself

Duplizierter Code ist einer der größten Code Smells. Wenn Sie die gleiche Logik an mehreren Stellen haben, müssen Sie bei Änderungen jede Stelle finden und anpassen. Das führt unweigerlich zu Fehlern.

Extrahieren Sie duplizierten Code in wiederverwendbare Funktionen, Methoden oder Module. Aber Vorsicht: Nicht jede Ähnlichkeit ist Duplikation. Manchmal sieht Code ähnlich aus, hat aber unterschiedliche Gründe sich zu ändern.

SOLID-Prinzipien im Überblick

SOLID ist ein Akronym für fünf Prinzipien objektorientierten Designs:

PrinzipBedeutung
Single ResponsibilityEine Klasse hat nur einen Grund, sich zu ändern
Open/ClosedOffen für Erweiterung, geschlossen für Modifikation
Liskov SubstitutionUnterklassen müssen ihre Oberklassen ersetzen können
Interface SegregationViele kleine Interfaces statt einem großen
Dependency InversionAbhängig von Abstraktionen, nicht von Implementierungen

Praxis-Tipp: Beginnen Sie mit dem Single Responsibility Principle. Wenn jede Klasse und Funktion nur eine Aufgabe hat, wird Ihr Code automatisch besser strukturiert.

Kommentare richtig einsetzen

Guter Code erklärt sich selbst. Kommentare sind oft ein Zeichen dafür, dass der Code nicht klar genug ist. Statt einen schlechten Namen zu kommentieren, wählen Sie einen besseren Namen.

Wann Kommentare sinnvoll sind:

  • Erklärung des Warum, nicht des Was
  • Warnungen vor Konsequenzen
  • TODO-Kommentare (aber regelmäßig auflösen!)
  • API-Dokumentation (JSDoc, JavaDoc)

Code Smells erkennen

Code Smells sind Hinweise auf tieferliegende Probleme:

Lange Methoden: Mehr als 20 Zeilen sind ein Warnsignal. Große Klassen: Wenn eine Klasse zu viele Verantwortlichkeiten hat. Lange Parameterlisten: Mehr als drei Parameter erschweren das Verständnis. Duplizierter Code: Die gleiche Logik an mehreren Stellen. Toter Code: Auskommentierter oder nie erreichter Code. Magic Numbers: Zahlen ohne erkennbare Bedeutung im Code.

Fazit

Clean Code ist keine einmalige Aufgabe, sondern eine kontinuierliche Praxis. Beginnen Sie mit aussagekräftigen Namen und kurzen Funktionen. Refaktorieren Sie regelmäßig, entfernen Sie Duplikate und halten Sie sich an etablierte Prinzipien wie SOLID. Ihr zukünftiges Ich und Ihre Teammitglieder werden es Ihnen danken.

Code Review oder Refactoring?