Was bietet mir der Workshop?
Der Workshop vermittelt C++ Clean Code, moderne Best Practices und zentrale Prinzipien für wartbaren und sicheren C++-Code. Im Fokus stehen die C++ Core Guidelines, Software Design Principles sowie ausgewählte Design Patterns und Idioms.
Anhand praxisnaher Beispiele und Diskussionen lernen die Teilnehmer, unnötige Komplexität und Code Smells zu reduzieren. Dabei geht es auch um robuste Softwarearchitektur, Ressourcennutzung, Fehlerbehandlung und Performance.
Was lernen die Teilnehmer?
Nach dem Workshop können die Teilnehmer zentrale C++ Clean Code Prinzipien und Best Practices gezielt im Entwicklungsalltag einsetzen.
- Clean Code Prinzipien wie KISS, YAGNI, DRY und SOLID anwenden
- C++ Core Guidelines für Klassen, Interfaces, Funktionen und Ressourcenmanagement nutzen
- Code Smells und unnötige Komplexität erkennen und reduzieren
- Wartbaren, sicheren und skalierbaren C++-Code entwickeln
- Design Patterns und Idioms wie RAII, Pimpl und CRTP einordnen und einsetzen
- Fehlerbehandlung und Ressourcennutzung verbessern
- Prinzipien für Performance und Concurrency berücksichtigen
Für wen ist der Kurs geeignet?
Der C++ Clean Code Workshop richtet sich an C++-Entwickler, Softwareentwickler und Softwareingenieure mit soliden Grundkenntnissen in modernem C++.
Für die Teilnahme wird ein eigener PC mit einem C++ Compiler ab C++17 benötigt. Der Trainer arbeitet mit Visual Studio 2022; die Community Edition mit dem Workload „Desktop development with C++“ ist ausreichend.
Was erhalten Teilnehmer?
- Zwei Tage Online-Workshop von 9:00 bis 17:00 Uhr
- Durchführung in deutscher Sprache
- Unterrichtsfolien und Fachbegriffe in englischer Sprache
- Zugangsdaten und notwendige Informationen vorab per E-Mail
- Teilnahmebestätigung nach Abschluss des Workshops
Warum dieser Workshop?
C++ Clean Code verbindet grundlegende Software Design Principles mit den C++ Core Guidelines und etablierten Design Patterns. Dadurch lernen die Teilnehmer nicht nur einzelne Regeln, sondern deren Anwendung in konkreten Entwicklungssituationen.
Der Workshop behandelt unter anderem Softwarearchitektur, Ressourcenmanagement, Performance, Concurrency und Fehlerbehandlung. Praxisnahe Beispiele und Diskussionen unterstützen dabei, die C++ Best Practices auf den eigenen Entwicklungsalltag zu übertragen.
Agenda
Software Design and Development Principles
- KISS, YAGNI, DRY, SOLID
- Prefer Composition over Inheritance
- Premature Optimization
- Law of Demeter
C++ Core Guidelines
- Philosophy
- Interfaces, Functions, Classes and Enums
- Resource management and smart pointers
- Expressions and statements
- Performance and Concurrency
- Error handling
- Constants
- Templates
- C-style programming
- Source files
- Standard Library
- Naming and layout
Design Patterns
- Resource Acquisition is Initialization (RAII)
- Pimpl idiom
- Compiletime Polymorphism: Curiously Recurring Template Pattern (CRTP)
- Antipattern Singleton
- Decoupling patterns

