
Refactoring with C++
Explore modern ways of developing maintainable and efficient applications
Dmitry Danilov(Author)
Packt Publishing
Published on 19. July 2024
Book
Paperback/Softback
368 pages
978-1-83763-377-7 (ISBN)
Description
Improve readability and understandability of code using C++ best practices
Key Features
Enrich your coding skills using features from the modern C++ standard and industry approved libraries
Implement refactoring techniques and SOLID principles in C++
Apply automated tools to improve your code quality
Purchase of the print or Kindle book includes a free PDF eBook
Book DescriptionDespite the prevalence of higher-level languages, C++ is still running the world, from bare-metal embedded systems to distributed cloud-native systems. C++ is on the frontline whenever there is a need for a performance-sensitive tool supporting complex data structures. The language has been actively evolving for the last two decades.
This book is a comprehensive guide that shows you how to implement SOLID principles and refactor legacy code using the modern features and approaches of C++, the standard library, Boost library collection, and Guidelines Support Library by Microsoft. The book begins by describing the essential elements of writing clean code and discussing object-oriented programming in C++. You'll explore the design principles of software testing with examples of using popular unit testing frameworks such as Google Test. The book also guides you through applying automated tools for static and dynamic code analysis using Clang Tools.
By the end of this book, you'll be proficient in applying industry-approved coding practices to design clean, sustainable, and readable real-world C++ code.What you will learn
Leverage the rich type system of C++ to write safe and elegant code
Create advanced object-oriented designs using the unique features of C++
Minimize code duplication by using metaprogramming
Refactor code safely with the help of unit tests
Ensure code conventions and format with clang-format
Facilitate the usage of modern features automatically with clang-tidy
Catch complex bugs such as memory leakage and data races with Clang AddressSanitizer and ThreadSanitizer
Who this book is forThis book will benefit experienced C++ programmers the most, but is also suitable for technical leaders, software architects, and senior software engineers who want to save on costs and improve software development process efficiency by using modern C++ features and automated tools.
Key Features
Enrich your coding skills using features from the modern C++ standard and industry approved libraries
Implement refactoring techniques and SOLID principles in C++
Apply automated tools to improve your code quality
Purchase of the print or Kindle book includes a free PDF eBook
Book DescriptionDespite the prevalence of higher-level languages, C++ is still running the world, from bare-metal embedded systems to distributed cloud-native systems. C++ is on the frontline whenever there is a need for a performance-sensitive tool supporting complex data structures. The language has been actively evolving for the last two decades.
This book is a comprehensive guide that shows you how to implement SOLID principles and refactor legacy code using the modern features and approaches of C++, the standard library, Boost library collection, and Guidelines Support Library by Microsoft. The book begins by describing the essential elements of writing clean code and discussing object-oriented programming in C++. You'll explore the design principles of software testing with examples of using popular unit testing frameworks such as Google Test. The book also guides you through applying automated tools for static and dynamic code analysis using Clang Tools.
By the end of this book, you'll be proficient in applying industry-approved coding practices to design clean, sustainable, and readable real-world C++ code.What you will learn
Leverage the rich type system of C++ to write safe and elegant code
Create advanced object-oriented designs using the unique features of C++
Minimize code duplication by using metaprogramming
Refactor code safely with the help of unit tests
Ensure code conventions and format with clang-format
Facilitate the usage of modern features automatically with clang-tidy
Catch complex bugs such as memory leakage and data races with Clang AddressSanitizer and ThreadSanitizer
Who this book is forThis book will benefit experienced C++ programmers the most, but is also suitable for technical leaders, software architects, and senior software engineers who want to save on costs and improve software development process efficiency by using modern C++ features and automated tools.
More details
Language
English
Place of publication
Birmingham
United Kingdom
Target group
Professional and scholarly
US School Grade: College Graduate Student
Dimensions
Height: 235 mm
Width: 191 mm
Thickness: 20 mm
Weight
687 gr
ISBN-13
978-1-83763-377-7 (9781837633777)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
Additional editions

Dmitry Danilov
Refactoring with C++
Explore modern ways of developing maintainable and efficient applications
E-Book
09/2024
Packt Publishing
from
€23.99
Available for download
Person
Dmitry Danilov is an engineer and team manager with over 15 years of experience in C++. Throughout his career, he has developed network sniffers and analyzers, audio/video streaming solutions, low-level embedded applications in telecommunications, and distributed systems.
Originally from Odesa, Ukraine, Dmitry graduated with a Master's degree in Computer Engineering from Odesa National Polytechnic University. He currently resides in Tel Aviv, Israel, where he continues to advance his career in technology.
In addition to his professional career, Dmitry demonstrates his passion for knowledge sharing and engaging with the tech community through his blog and by actively
speaking at various events, including Core C++ Conference and Core C++ Group Meetup Israel.
Originally from Odesa, Ukraine, Dmitry graduated with a Master's degree in Computer Engineering from Odesa National Polytechnic University. He currently resides in Tel Aviv, Israel, where he continues to advance his career in technology.
In addition to his professional career, Dmitry demonstrates his passion for knowledge sharing and engaging with the tech community through his blog and by actively
speaking at various events, including Core C++ Conference and Core C++ Group Meetup Israel.
Content
Table of Contents
Coding Standards in C++
Main Software Development Principles
Causes of Bad Code
Good Candidates for Rewriting - Patterns and Anti-Patterns
The Significance of Naming
Utilizing a Rich Static Type System in C++
Classes, Objects, and OOP in C++
Designing and Developing APIs in C++
Code Formatting and Naming Conventions
Introduction to Static Analysis in C++
Dynamic Analysis
Testing
Modern Approach to Managing Third Parties
Version Control
Code Review
Coding Standards in C++
Main Software Development Principles
Causes of Bad Code
Good Candidates for Rewriting - Patterns and Anti-Patterns
The Significance of Naming
Utilizing a Rich Static Type System in C++
Classes, Objects, and OOP in C++
Designing and Developing APIs in C++
Code Formatting and Naming Conventions
Introduction to Static Analysis in C++
Dynamic Analysis
Testing
Modern Approach to Managing Third Parties
Version Control
Code Review