Clean C++: Sustainable Software Development Patterns and Best Practices with C++ 17
Write maintainable, extensible, and durable software with modern C++. This book is a must for every developer, software architect, or team leader who is interested in good C++ code, and thus also wants to save development costs. If you want to teach yourself about writing clean C++, Clean C++ is exactly what you need. It is written to help C++ developers of all skill levels and shows by example how to write understandable, flexible, maintainable, and efficient C++ code. 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.
If you don't take care with your code, you can produce a large, messy, and unmaintainable beast in any programming language. However, C++ projects in particular are prone to be messy and tend to slip into bad habits. Lots of C++ code that is written today looks as if it was written in the 1980s.
It seems that C++ developers have been forgotten by those who preach Software Craftsmanship and Clean Code principles. The Web is full of bad, but apparently very fast and highly optimized C++ code examples, with cruel syntax that completely ignores elementary principles of good design and well-written code. This book will explain how to avoid this scenario and how to get the most out of your C++ code. You'll find your coding becomes more efficient and, importantly, more fun.
What You'll Learn
Who This Book Is For
Any C++ developer and software engineer with an interest in producing better code.
What people are saying - Write a review
We haven't found any reviews in the usual places.
Other editions - View all
abstract algorithm Anti-Pattern arguments array assignment operator auto basic bool C-style C++ Standard Library called Chapter circular dependency class Customer class template command compiler complex component constexpr Customer.h CustomerRepository default defined in header delete Dependency Injection Design Patterns element error exception exception-safety execution Figure function or method Functional Programming Functor idiom implementation include iostream include string include vector Information Hiding instance int main interface invoice lambda expression Law of Demeter Listing Logger member function member variables memory mock object modern C++ modules move semantics noexcept nullptr object orientation object-oriented output override parameter piece of code principle problem production code programming language Rectangle refactoring requirements resource result return value romanNumeral runtime Single Responsibility Principle Singleton smart pointer so-called software development software system source code specific std::cout std::endl std::size_t std::string Template Metaprogramming Test Double Test-Driven Development unit test virtual void write