Improve readability and understandability of code using C++ best practicesKey FeaturesEnrich your coding skills using features from the modern C++ standard and industry approved librariesImplement refactoring techniques and SOLID principles in C++Apply automated tools to improve your code qualityPurchase of the print or Kindle book includes a free PDF eBookBook 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 learnLeverage the rich type system of C++ to write safe and elegant codeCreate advanced object-oriented designs using the unique features of C++Minimize code duplication by using metaprogrammingRefactor code safely with the help of unit testsEnsure code conventions and format with clang-formatFacilitate the usage of modern features automatically with clang-tidyCatch complex bugs such as memory leakage and data races with Clang AddressSanitizer and ThreadSanitizerWho 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.]]>