Clean Code – wartbare Software entwickeln
Code so entwickeln, dass er auch morgen noch verständlich und änderbar bleibt
01 Intro
Funktionierender Code ist nur der Anfang. Software wird über Jahre gelesen,
erweitert, korrigiert und von unterschiedlichen Entwicklern bearbeitet.
Verständlichkeit, klare Verantwortlichkeiten und beherrschbare
Abhängigkeiten bestimmen deshalb wesentlich die langfristigen Kosten eines
Systems.
Der Kurs vermittelt Clean Code als praktische Engineering-Disziplin statt
als Sammlung dogmatischer Regeln. Die Teilnehmer analysieren bestehenden
Code, erkennen typische Wartbarkeitsprobleme und verbessern ihn
schrittweise, ohne dabei Lesbarkeit mit möglichst kurzer oder vermeintlich
eleganter Implementierung zu verwechseln.
Kurs-ID
SWE-001
Dauer
3 Tage
Format
Präsenz · Live Online · Inhouse
Vorkenntnisse
Sichere Grundlagen in mindestens einer objektorientierten Programmiersprache
02 Trainingsprogramm
Inhalte
Was bedeutet Clean Code?
- Verständlichkeit
- Änderbarkeit
- Wartbarkeit
- Testbarkeit
- Einfachheit
- Regeln versus Prinzipien
Namen als Teil des Designs
- Klassen
- Methoden
- Variablen
- fachliche Begriffe
- Abkürzungen
- Intention Revealing Names
Funktionen und Methoden
- Verantwortlichkeiten
- Abstraktionsebenen
- Parameter
- Seiteneffekte
- Rückgabewerte
- Command-Query Separation
Klassen und Verantwortlichkeiten
- Kohäsion
- Kopplung
- Single Responsibility
- öffentliche Schnittstellen
- Zustände
- geeignete Abstraktionen
Kontrollfluss vereinfachen
- verschachtelte Bedingungen
- Guard Clauses
- komplexe Boolesche Ausdrücke
- Schleifen
- Polymorphie
- Lesefluss
Daten und Zustände
- Mutable State
- Immutability
- Datenkapselung
- Data Objects
- Value Objects
- temporale Kopplung
Fehlerbehandlung
- Exceptions
- Fehlercodes
- aussagekräftige Fehlermeldungen
- Ressourcen
- Fail Fast
- fachliche und technische Fehler
Kommentare und Dokumentation
- guter Code versus Kommentar
- sinnvolle Kommentare
- redundante Kommentare
- veraltete Kommentare
- API-Dokumentation
- Code als Kommunikationsmittel
Code Smells erkennen
- Long Method
- Large Class
- Duplication
- Feature Envy
- Primitive Obsession
- typische Warnsignale
Abhängigkeiten beherrschen
- Dependency Inversion
- Dependency Injection
- Schnittstellen
- Kopplung
- versteckte Abhängigkeiten
- Overengineering vermeiden
Clean Code im Team
- gemeinsame Konventionen
- Formatter und Linter
- statische Analyse
- Code Reviews
- Definition of Done
- technische Diskussionen
Bestehenden Code verbessern
- problematischen Code analysieren
- Verbesserungen priorisieren
- kleine Änderungen
- Tests als Sicherheitsnetz
- Lesbarkeit vergleichen
- Verbesserungen begründen
03 Durchführung
Rahmen und Organisation
Dauer
3 Tage
Durchführung
Präsenz oder Live Online, vorzugsweise als Inhouse-Schulung
Schwerpunkt
Inhouse-Schulungen für Unternehmen und Teams
Sprache
Deutsch, englische Fachbegriffe und Dokumentation
Unterlagen
Kursunterlagen, Beispiele und Übungsaufgaben
Technik
Eigener Rechner mit Entwicklungsumgebung für die praktischen Übungen
Inhouse-Schulungen
Code aus dem eigenen System kann als Grundlage für die Analyse- und
Verbesserungsübungen dienen.
04 Zielgruppe
Für wen ist der Kurs gedacht?
Softwareentwickler, technische Tester und Quality Engineers, die wartbaren
und verständlichen Code entwickeln oder bestehenden Code verbessern
möchten.
Voraussetzungen
Sichere Grundlagen in einer objektorientierten Programmiersprache.
05 Lernziele
Was Sie nach dem Kurs können
Nach dem Kurs können die Teilnehmer:
- Wartbarkeitsprobleme in Code erkennen
- Verantwortlichkeiten klarer strukturieren
- Namen, Methoden und Klassen verständlicher gestalten
- unnötige Kopplungen und komplexe Kontrollflüsse reduzieren
- Code Smells systematisch erkennen
- Clean-Code-Prinzipien pragmatisch statt dogmatisch einsetzen
06 FAQ
Häufige Fragen
Gibt es objektiv sauberen Code?
Nicht vollständig. Viele Prinzipien lassen sich begründen, ihre konkrete Anwendung hängt aber von Sprache, System, Team und Kontext ab. Der Kurs behandelt Clean Code deshalb nicht als starres Regelwerk.
Wird im Kurs programmiert?
Ja. Ein wesentlicher Teil besteht aus der Analyse und Verbesserung konkreten Codes.
Worin unterscheidet sich der Kurs vom Refactoring-Kurs?
Dieser Kurs behandelt die Eigenschaften wartbaren Codes. Der Kurs zu Refactoring und Legacy Code konzentriert sich auf den kontrollierten Prozess, bestehenden Code unter Erhaltung seines Verhaltens zu verändern.