Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Saubere, effiziente und robuste C++-Software entwickeln mit klassischer Objektorientierung und modernen C++ Sprachmitteln - Der Weg zum Clean Code - Live-Online-Training

  • Inhalt
     
  • Ziele -
    Ihr Nutzen
  • Teilnehmer
     
  • Voraussetzungen
     

Sie beherrschen die wichtigsten "Best Practices", um sauberen, performanten und robusten C++-Code neu zu erstellen oder Legacy-Code in einem Refactoring-Projekt zu modernisieren.

Software-Entwickler/innen, Software-Architekt/innen

Für die aktive Teilnahme am Praktikum im Workshop-Stil: Sie kennen bereits die Grundlagen der Objektorientierten Programmierung und verfügen über solide Grundkenntnisse in C++. Sie sind vertraut im Umgang mit einer gängigen Entwicklungsumgebung, die C++20 unterstützt. Für die Übungen kann ein eigener Laptop genutzt werden oder Sie arbeiten via Internet Bowser in einem bereitgestellten Online-Workspace.

Optional: Sollten Sie bisher kaum C++ Programmierkenntnisse haben, können Sie darauf verzichten, in den Übungen selbst zu programmieren und sich stattdessen auf einen "Vorher - Nachher" Vergleich des jeweiligen Schritts in Form eines reinen Code-Reviews konzentrieren.

Paradigmen, Muster, Idiome und Best Practices

  • Guter Code von Anfang an
  • Guter Code durch Refactoring
  • Mögliche Motivationsprobleme
  • Versteckte Kosten von schlechtem Code
  • Zielkonflikte und Abwägungen

Grundregeln

  • Wiederholungen vermeiden
  • Offenheit für Erweiterungen
  • Komplexität eingrenzen
  • Modularisierung
  • Testautomatisierung
  • Optimierung nur mit klaren Zielen

C++-spezifische Aspekte

  • Header- und Implementierungsdateien
  • Sprache vs. Bibliotheken und Frameworks
  • Vor- und Nachteile von Templates
  • Welche Rolle spielt die Metaprogrammierung?

Nützliches in der Standard-Bibliothek

  • Kurzüberblick von C++98 zu C++23 STL - Container, Iteratoren, Algorithmen
  • "std::any", "std::variant"
  • "std::tuple" und "structured binding"
  • "std::function"

Klassische Objektorientierung mit C++

  • Kapselung von Daten und Funktionen
  • Geheimnisprinzip und Zugriffsschutz
  • Vererbung, Interfaces, dynamisches Binden
  • Komposition oft besser als Vererbung
  • "SOLID" Prinzipien und mehr (SLA, YAGNI, …)

Kommunikation zwischen Software-Modulen

  • Synchrone und asynchrone Verfahren
  • Prinzip der losen Kopplung und hohen Kohäsion
  • Performance-Steigerung durch Callbacks
  • Vergleich und Bewertung typischer Alternativen (Linker, Zeiger/Referenzen, Interfaces, Templates)

Praktische Übungen im Workshop Stil

  • Projektbasierte Kursstruktur Die praktischen Übungen sind als fortlaufendes Mini-Projekt konzipiert, das sich durch das gesamte Training zieht und aufeinander aufbaut. Jede Einheit dauert etwa 90 bis 120 Minuten, in denen Sie die Bearbeitungsgeschwindigkeit an Ihre individuellen Vorkenntnisse in C++ anpassen können.
  • Unterstützung und Lösungen: Damit Sie stets auf dem richtigen Weg bleiben, stehen Ihnen alle Musterlösungen im Voraus zur Verfügung. So können Sie sicher sein, dass Sie den Anschluss nicht verlieren, auch wenn Sie einmal auf Herausforderungen stoßen. Der Trainer steht jederzeit für Fragen und Hilfestellungen zur Verfügung und unterstützt Sie während der Übungen.
  • Zusätzliche Herausforderungen: Für fortgeschrittene Teilnehmende bietet jeder Schritt zusätzliche, optionale "offene Challenges", um den praktischen Teil des Kurses auch für erfahrene Programmierer/innen spannend und anspruchsvoll zu gestalten.

MicroConsult PLUS

  • Den Code und die Beschreibung der Workshop-Übung erhalten Sie bereits vor dem Training, sodass Sie sich schon vorab mit den zu bearbeitenden Schritten sowie den offenen Challenges vertraut machen können.

Im Preis enthalten:
Trainingsdokumentation, Ihr Zertifikat sowie ggf. erforderliche Ziel-HW o.ä.


ALL INCLUSIVE!

Spätestens 3 Wochen vor Trainingsbeginn erhalten Sie eine verbindliche Durchführungsbestätigung.

Einige Tage vor dem Live-Online-Training erhalten Sie von uns E-Mails mit …

  • ausführlichen Infos rund um Ihr Training
  • Ihre Schulungsunterlagen (Download-Link)
  • einer Einladung zu einer optionalen Probesession mit dem Trainer
  • einer Einladung für die Schulungstage, mit Link und Zugangsdaten

Ggf. erforderliche Übungs-HW senden wir Ihnen rechtzeitig vorab zu.


ABLAUF

Verwandte Trainings

UML-Schulung: UML-Grundlagen und Einstieg in die modellbasierte Softwareentwicklung - Präsenz-Training
Anmeldecode: UML-G

UML-Praxis-Workshop: Praktischer Einsatz modellbasierter Softwareentwicklung für Embedded- und Echtzeit-Systeme - Präsenz-Training
Anmeldecode: UMLPRAX

Software-Architektur-Schulung für Embedded-Systeme und Echtzeitsysteme - Präsenz-Training
Anmeldecode: EMB-AR

Design Patterns Schulung (nicht nur) für Embedded-Systeme - Präsenz-Training
Anmeldecode: DP

C++ Schulung für Ein- und Umsteiger: Grundlegende Programmiertechniken für C++ Entwickler - Präsenz-Training
Anmeldecode: C++

C++ Schulung für Fortgeschrittene: Aufbauwissen für C++ Entwicklerinnen und Entwickler - Präsenz-Training
Anmeldecode: C++/FOR

Embedded C++: Objektorientierte Programmierung für Mikrocontroller mit C++/EC++ und UML - Präsenz-Training
Anmeldecode: EC++

C# .NET Training: C# Programmierung unter .NET - Präsenz-Training
Anmeldecode: C#-PRG

Coaching: Qualität im Programmcode
Anmeldecode: C-QU-PRG

Coaching: Software-Analyse, -Design und -Architektur
Anmeldecode: C-ADA-SWE

Coaching: Embedded- und Echtzeit-Programmierung
Anmeldecode: C-EMB-PRG

Coaching: Programmiersprachen
Anmeldecode: C-PRG-LAN


Verwandte Trainings

Live Online Training

Termin Preis *Dauer
02.02. – 04.02.20261.950,00 €3 Tage 
Anmeldecode: L-OOPFC++
* Preis je Teilnehmer, in Euro zzgl. USt.

> Download Blanko-Anmeldeformular
> Trainingsbeschreibung als PDF

Präsenz-Training - Deutsch

Termin Dauer
30.06. – 02.07.2025 3 Tage  
06.10. – 08.10.2025 3 Tage  

Präsenz-Training - Englisch

Dauer
5 Tage  

Saubere, effiziente und robuste C++-Software entwickeln mit klassischer Objektorientierung und modernen C++ Sprachmitteln - Der Weg zum Clean Code - Live-Online-Training

Inhalt

Paradigmen, Muster, Idiome und Best Practices

  • Guter Code von Anfang an
  • Guter Code durch Refactoring
  • Mögliche Motivationsprobleme
  • Versteckte Kosten von schlechtem Code
  • Zielkonflikte und Abwägungen

Grundregeln

  • Wiederholungen vermeiden
  • Offenheit für Erweiterungen
  • Komplexität eingrenzen
  • Modularisierung
  • Testautomatisierung
  • Optimierung nur mit klaren Zielen

C++-spezifische Aspekte

  • Header- und Implementierungsdateien
  • Sprache vs. Bibliotheken und Frameworks
  • Vor- und Nachteile von Templates
  • Welche Rolle spielt die Metaprogrammierung?

Nützliches in der Standard-Bibliothek

  • Kurzüberblick von C++98 zu C++23 STL - Container, Iteratoren, Algorithmen
  • "std::any", "std::variant"
  • "std::tuple" und "structured binding"
  • "std::function"

Klassische Objektorientierung mit C++

  • Kapselung von Daten und Funktionen
  • Geheimnisprinzip und Zugriffsschutz
  • Vererbung, Interfaces, dynamisches Binden
  • Komposition oft besser als Vererbung
  • "SOLID" Prinzipien und mehr (SLA, YAGNI, …)

Kommunikation zwischen Software-Modulen

  • Synchrone und asynchrone Verfahren
  • Prinzip der losen Kopplung und hohen Kohäsion
  • Performance-Steigerung durch Callbacks
  • Vergleich und Bewertung typischer Alternativen (Linker, Zeiger/Referenzen, Interfaces, Templates)

Praktische Übungen im Workshop Stil

  • Projektbasierte Kursstruktur Die praktischen Übungen sind als fortlaufendes Mini-Projekt konzipiert, das sich durch das gesamte Training zieht und aufeinander aufbaut. Jede Einheit dauert etwa 90 bis 120 Minuten, in denen Sie die Bearbeitungsgeschwindigkeit an Ihre individuellen Vorkenntnisse in C++ anpassen können.
  • Unterstützung und Lösungen: Damit Sie stets auf dem richtigen Weg bleiben, stehen Ihnen alle Musterlösungen im Voraus zur Verfügung. So können Sie sicher sein, dass Sie den Anschluss nicht verlieren, auch wenn Sie einmal auf Herausforderungen stoßen. Der Trainer steht jederzeit für Fragen und Hilfestellungen zur Verfügung und unterstützt Sie während der Übungen.
  • Zusätzliche Herausforderungen: Für fortgeschrittene Teilnehmende bietet jeder Schritt zusätzliche, optionale "offene Challenges", um den praktischen Teil des Kurses auch für erfahrene Programmierer/innen spannend und anspruchsvoll zu gestalten.

MicroConsult PLUS

  • Den Code und die Beschreibung der Workshop-Übung erhalten Sie bereits vor dem Training, sodass Sie sich schon vorab mit den zu bearbeitenden Schritten sowie den offenen Challenges vertraut machen können.