- Grundlagen professioneller Softwareentwicklung:
- Der Softwareentwicklungsprozess
- Grundsätze guter Programmierung
- Interne und externe Qualitätsmerkmale
- "Code Smells"
- Wiederholung der Grundlagen der Objektorientierung
- Merksätze und die "Holper"-Regel
Prinzipien guten Designs:
- Kapselung
- Kohäsion
- Kopplung
- Liskovsches Substitutionsprinzip (LSP)
- Single Responsibility Prinzip (SRP)
- Interface Seggregation Prinzip (ISP)
- Open / Closed Prinzip (OCP)
- Dependency Inversion Prinzip (DIP)
- Das Visions Prinzip
"Guter Code":
- Namen
- Auswahl von Datentypen
- Methodentypen
- Argumente
- Techniken zur Reduktion der Anzahl der Argumente
- Query / Command Abgrenzung
- "Stepdown-Regel"
- Rekursionen
- Anwender- vs. Entwicklerdokumentation
- Arten von Kommentaren
- Formulierung von Contracts
- Lesbarer Code vs. Kommentare
- Testfälle als Dokumentation
- Klassenkomposition
- Die Zeitungsmetapher
- Code-Formatierungen
Metriken und Messbarkeit:
- Metriken in der Softwareentwicklung
- Komplexität von Klassen und Methoden
- "Cyclomatic Complexity" nach McCabe
- Weitere Standardmetriken
- Statische Codeanalyse
- Testfallabdeckung
- Mutationstests
Weitere optionale Schwerpunkte:
- Nebenläufigkeit (Funktionsweise, Mythen und Missverständnisse, Herausforderungen, Ausführungsmodelle, Deadlocks, Shutdown-Strategien)
- Refactoring (Design Patterns, Prinzipien des Refactoring, Agile Softwareentwicklung, API-Treue)
Methode
Unsere erfahrenen Trainer:innen vermitteln Ihnen in der Schulung "Clean Code" die Prinzipien von Clean Code in verständlicher Art und Weise. In Diskussionen mit anderen Teilnehmern und Gruppenübungen festigen und erweitern Sie das Erlernte. Demonstrationen und Erklärungen werden sprachunabhängig anhand UML und ggf. Codebeispielen in Java-ähnlicher Notation (Java als Pseudocode) durchgeführt und sind auf jede OO Sprache adaptierbar.
Auf unserer digitalen Lernplattform LearningHub@Cegos sind sämtliche Seminarunterlagen als digitales Bundle zur Verfügung gestellt. So können Sie das Lernmaterial jederzeit mobil abrufen – sowohl vor, während als auch nach dem Seminar.