Clean C++20 (2nd ed.)
Sustainable Software Development Patterns and Best Practices

Written by Stephan Roth
Published by Apress Media LLC, New York

A book for every developer, software architect, or team leader who is interested in well-crafted and clean C++ code, and thus also wants to save development costs.
Clean C++ 20 3D book cover

What Will You Get From This Book?

Well-written code is a key success factor in ensuring that software remains easily maintainable and extensible throughout its whole lifecycle.
Clean C++20 is about writing sustainable, well-maintainable and durable software with modern C++ (C++11 or higher language standards).

Learn principles and practices of Clean Code Development

Clean C++20 contains many principles that will keep your C++ code readable, understandable and extensible.

Based on modern C++

The content of Clean C++20 is based on the C++ language standard C++20 (ISO/IEC 14882:2020 – Programming Language C++), but most of it is also applicable to previous C++ versions.

Learn the most important design patterns

The book also discusses common design patterns, e.g., Strategy, Composite, Observer and Dependency Injection.

Make Test-Driven Development (TDD) your strategy for success

Learn why a test-first approach offers a variety of benefits and can significantly improve the design of your software.

Ensure that even a large code base stays in shape

Learn about how to make a large and complex C++ code base more manageable through modularization, decoupling, principles of object-orientation and dependency management.

For beginners and also experienced developers

Whether you're just starting out in software development or you're a seasoned developer: Clean C++20 is written for C++ developers of all skill levels.

What's Included

Also available as ebook
  • Build a Safety Net With Tests
  • Design Principles
  • Basics and Advanced Concepts
    of Clean C++
  • Modularization and OO
  • Functional Programming With Modern C++
  • Test-Driven Development (TDD)
  • Design Patterns and Idioms
  • A Small UML Guide

Who This Book Is For

Software Developers

For beginners and also experienced C++ developers. Even if you are a seasoned C++ developer, there are nuggets and data points in this book that you will find useful in your work.

Software Architects

A lot of fundamental architectural decisions, especially those concerning the quality aspects of comprehensibility, maintainability, extensibility and analyzability, are influenced by the way code is written.

Team Leads

Even in an agile project environment, code quality can go down the drain, resulting in a decrease in development speed. Managers should therefore also know that it is important to keep the code base in good condition and to accumulate as little technical debt as possible.

QA People and Tester

Testing and Test-Driven Development (TDD) are essential cornerstones of modern software development. People from QA can learn how unit-testing and TDD can ensure a very high basic quality.

Training Providers and Consultants

Clean C++20 can also be used as a companion book in trainings and advanced education courses. If you are interested in an on-site training about Clean Code Development with modern C++, feel free to contact my company oose eG in Hamburg (Germany) for further informations.
Profile picture of Stephan Roth

About The Author

Stephan Roth, born on May 15, 1968, is a passionate coach, consultant, and trainer for Systems and Software Engineering with German consultancy company oose eG located in Hamburg. Before he joined oose, Stephan worked for many years as a software developer, software architect, and systems engineer in the field of radio reconnaissance and communication intelligence (COMINT) systems. He has developed sophisticated applications, especially for distributed systems with ambitious performance requirements, and graphical user interfaces using C++ and other programming languages.

Stephan is also a speaker at professional conferences and author of several publications. As a member of the Gesellschaft für Systems Engineering e.V., the German chapter of the international Systems Engineering organization INCOSE, he is also engaged in the Systems Engineering community.

Stephan lives with his family in Bad Schwartau, a town near Lübeck (northern Germany), about 10 km from the Baltic Sea coast.