Clean Code C++

Entwicklungsprinzipien für „Clean Code“ bei C++

„Clean Code“ hört man nicht selten im Zusammenhang mit Frameworks wie .NET oder Java. Doch unter C++ geht „Clean Code“ auch. Projekte können mit überschaubarem Aufwand in einen deutlich lesbareren und damit wartbaren Zustand überführt werden. Entwicklern stehen dafür bewährte Ansätze für Refactorings sowie Werkzeuge die eine bessere Modualisierung und gute Codequalität ermöglichen zur Seite. Damit kann das eigene und fremde Vertrauen in den Quellcode erhöht werden. Aber auch Fehler in der Entwicklung können so aufgedeckt werden und letztendlich in einer verbesserten Fehleranalyse münden. Auch von der starken Modernisierung der C++-Plattform ab Version 11 getragen steht diese .NET und anderen Plattformen in Sachen „Clean Code“ in nichts nach.

Ziel und Motivation

Um den Stoff nachhaltig vermitteln und motivieren zu können wechseln sich Theorie und Praxis untereinander ständig ab. Auch die Theorievorträge beziehen die Teilnehmer aktiv mit ein und beantworten Fragen aus dem Alltag eines Softwareentwicklers. In den Praxisabschnitten werden realitätsnahe Szenarien diskutiert und umgesetzt. Selbst erfahrene C++-Entwickler werden etwas lernen können und das Training motiviert verlassen.

Übersicht und Einführung

  • Motivation, Ideen, Ziele und Umsetzungen
  • Grundprinzipien und Konzepte von Clean Code
  • Praktische Einführung in Session Workflow
  • Praxisteil
    • Beispielcode zum Laufen bekommen
    • Tests durchführen
    • einfache Refactorings durchführen

Umgang mit Legacy Code

  • Bewusstsein für Probleme schaffen
  • Strategien für Umgang mit Legacy Code

Riskominimierung durch Unit Tests

  • Zielstellungen für gute Tests
  • Herausforderungen in C++
  • Architekturen für gute Testbarkeit
  • Praxisteil
    • Realistischer Legacy Code ohne Unit Tests
    • Refactoring, um Unit Tests zu ermöglichen
    • Erstellung der Unit Tests
    • testgetriebene Entwicklung neuer Leistungsmerkmale

Modularisierung und Dependency Injection in C++

  • Problembewusstsein und Motivation
  • Ziele und Ideen sowie Refactoring-Strategien
  • Praxisteil
    • Realistische Qt GUI-Anwendung
    • Refactoring mit Dependency Injection
    • testgetriebene Entwicklung neuer Leistungsmerkmale

Modularisierte Gesamtarchitektur

  • Architektur in großen Projekten
  • Nutzung von Interfaces und stabilen APIs
  • Praxisteil
    • Leistungsmerkmale in modularer Architektur am Beispiel einer GUI-Anwendung
    • testgetriebene Entwicklung neuer Leistungsmerkmale

Vererbung in C++ richtig nutzen

  • Vorstellung objektorientiertes Design (OOD)
  • Alternativen zur Vererbung
  • Vererbung ist ein Implementierungsdetail
  • Wann ist was angebracht
  • Praxisteil A
    • Kapselung von Vererbung mithilfe von Function Templates
    • Bezug dieser Methode auf die vorherigen Schulungsinhalte
    • testgetriebene Entwicklung neuer Leistungsmerkmale
  • Praxisteil B
    • Ideen für zukünftige Verbessungen der selbstentwickelten Beispiele
    • Diskussion von Ansätzen zur Verbesserung der Codebasis von Teilnehmern
Unsere Veranstaltungsorte von dieser / diesem SchulungTrainingSeminarKurs (nach oben)Berlin, Dresden, Frankfurt am Main, Hamburg, Hannover, Karlsruhe, Köln, Leipzig, Magdeburg, München, Stuttgart und Inhouse.

Fortbildung oder Weiterbildung zu Clean Code – wir setzen nur auf erfahrene Talente als Clean Code Trainer. Das Credo von Andreas Reischuck lautet „Bessere Lösungen durch moderne Technologien“. Mehr zu ihm und den Beweggründen unserer anderen Trainer erfahren Sie bei seiner Biographie (direkt erreichbar per Bild).