Refactoring von C++-Code: Ein praktischer Leitfaden zur Verbesserung von Architektur und Lesbarkeit
Refactoring von C++-Code: Ein praktischer Leitfaden zur Verbesserung von Architektur und Lesbarkeit
Zusammenfassung:
Das Buch „Refactoring von C++-Code“ ist ein praktischer Leitfaden für Entwickler, die veralteten, unübersichtlichen oder schlecht entworfenen C++-Code in ein sauberes, wartbares und effizientes System verwandeln möchten. Im Gegensatz zu allgemeinen Büchern über Refactoring konzentriert sich diese Ausgabe vollständig auf die Besonderheiten der Sprache C++: Arbeit mit Templates, Speicherverwaltung, RAII, Mehrfachvererbung und andere Feinheiten.
Das Buch richtet sich an erfahrene C++-Entwickler (Middle/Senior-Level), die mit Legacy-Code konfrontiert sind, technische Schulden abbauen oder moderne Standards (C++17/20) in ein bestehendes Projekt integrieren möchten. Anfängern wird empfohlen, sich vorab mit den Grundlagen von C++ vertraut zu machen.
Was Sie lernen werden:
- Wie man „Code Smells“ erkennt: Lernen Sie, 24 Arten von problematischen Konstruktionen zu identifizieren, die speziell für C++ charakteristisch sind (z. B. übermäßiges Kopieren, falsche Verwendung von Smart Pointern, Makros anstelle von constexpr).
- Schritt-für-Schritt-Refactoring-Techniken: Über 50 spezifische Methoden – von einfachen Variablenumbenennungen bis hin zur komplexen Zerlegung von Template-Klassen und dem Ersetzen von Vererbung durch Komposition.
- Sicherheit bei Änderungen: Wie Sie Unit-Tests, statische Analysewerkzeuge (Clang-Tidy, PVS-Studio) und Sanitizer einsetzen, um funktionierenden Code nicht zu beschädigen.
- Modernes C++: Wie Sie veraltete Idiome (Raw Pointer, manuelle Speicherverwaltung) durch RAII, Move-Semantik,
std::optionalundstd::variantersetzen. - Architekturverbesserungen: Implementierung von Entwurfsmustern (Strategy, Visitor, Factory) ohne übermäßige Komplexität, Refactoring monolithischer Klassen und Reduzierung der Modulkopplung.
Besonderheiten der Ausgabe:
- Alle Codebeispiele sind in modernem C++17/20 geschrieben und stehen zum Download bereit.
- Reale Fallstudien aus Industrieprojekten: von Spiele-Engines bis zu Finanzsystemen.
- Kapitel zur Arbeit mit Legacy-Code: Wie Sie Tests zu einem nicht testbaren Projekt hinzufügen und es schrittweise verbessern, ohne es komplett neu zu schreiben.
- Vergleich der Werkzeuge: CLion, ReSharper C++, Visual Studio – welche Refactorings automatisiert werden können.
Nach der Lektüre werden Sie in der Lage sein, Code jeder Komplexität sicher umzuorganisieren, die Zeit für das Debugging und das Hinzufügen neuer Funktionen zu verkürzen und vor allem Freude an der Arbeit mit einem sauberen, gut strukturierten C++-Projekt zu haben. Das Buch wird ein unverzichtbares Nachschlagewerk für jeden sein, der professionell in C++ programmiert.
Empfehlungen
Asynchrones Swift (iOS/macOS): Das vollständige Handbuch
Architektur von C# (.NET)-Anwendungen: Vom Anfänger zum Teamleiter
Entwurfsmuster in JavaScript (Node.js)
DevOps für Kotlin-Entwickler: Vom Code bis zur Produktion
DevOps für PHP-Entwickler: Automatisierung, CI/CD und Cloud-Technologien
RxSwift: Reaktive Programmierung mit Swift