Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Refactoring with C++
  • Table Of Contents Toc
Refactoring with C++

Refactoring with C++

By : Dmitry Danilov
5 (1)
close
close
Refactoring with C++

Refactoring with C++

5 (1)
By: Dmitry Danilov

Overview of this book

Despite 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.
Table of Contents (18 chapters)
close
close

Summary

Compiler-based sanitizers and Valgrind bring distinct advantages and challenges to the debugging and profiling process.

Compiler-based tools such as ASan, TSan, and UBSan are generally more accessible and easier to integrate into the development workflow. They are “cheaper” in terms of the performance overhead they introduce and are relatively straightforward to configure and use. These sanitizers are integrated directly into the compilation process, making them convenient for developers to employ regularly. Their primary advantage lies in their ability to provide immediate feedback during the development phase, catching errors and issues as the code is being written and tested. However, since these tools perform analysis during runtime, their effectiveness is directly tied to the extent of the test coverage. The more comprehensive the tests, the more effective the dynamic analysis, as only the executed code paths are analyzed. This aspect highlights the importance...

CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
Refactoring with C++
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist download Download options font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon