Refactoring with C++
Dmitry Danilov
Sold by PBShop.store US, Wood Dale, IL, U.S.A.
AbeBooks Seller since 7 April 2005
New - Soft cover
Condition: New
Ships within U.S.A.
Quantity: Over 20 available
Add to basketSold by PBShop.store US, Wood Dale, IL, U.S.A.
AbeBooks Seller since 7 April 2005
Condition: New
Quantity: Over 20 available
Add to basketNew Book. Shipped from UK. THIS BOOK IS PRINTED ON DEMAND. Established seller since 2000.
Seller Inventory # L0-9781837633777
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 Description:
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.
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 for:
This 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.
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
"About this title" may belong to another edition of this title.
Returns Policy
We ask all customers to contact us for authorisation should they wish to return their order. Orders returned without authorisation may not be credited.
If you wish to return, please contact us within 14 days of receiving your order to obtain authorisation.
Returns requested beyond this time will not be authorised.
Our team will provide full instructions on how to return your order and once received our returns department will process your refund.
Please note the cost to return any...
If you are a consumer you can withdraw from the contract in accordance with the following. Consumer means any natural person who is acting for purposes which are outside his trade, business, craft or profession.
Information regarding the right of withdrawal
Statutory right to withdraw
You have the right to withdraw from this contract within 14 days without giving any reason.
The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good or the last lot or piece.
To exercise the right of withdrawal, electronically fill in and submit a clear statement on our website, under "My Purchases" in "My Account". We will communicate to you an acknowledgement of receipt of such a withdrawal on a durable medium (e.g. by e-mail) without delay.
To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.
Effects of withdrawal
If you withdraw from this contract, we will reimburse to you all payments received from you, including the costs of delivery (except for the supplementary costs arising if you chose a type of delivery other than the least expensive type of standard delivery offered by us).
We may make a deduction from the reimbursement for loss in value of any goods supplied, if the loss is the result of unnecessary handling by you.
We will make the reimbursement without undue delay, and not later than 14 days after the day on which we are informed about your decision to withdraw from this contract.
We will make the reimbursement using the same means of payment as you used for the initial transaction, unless you have expressly agreed otherwise; in any event, you will not incur any fees as a result of such reimbursement.
We may withhold reimbursement until we have received the goods back, or you have supplied evidence of having sent back the goods, whichever is the earliest.
You shall send back the goods or hand them over to PBShop.store US, Springfield Gardens, New York, U.S.A., +44 1285 712917, without undue delay and in any event not later than 14 days from the day on which you communicate your withdrawal from this contract to us. The deadline is met if you send back the goods before the period of 14 days has expired. You will have to bear the direct cost of returning the goods. You are only liable for any diminished value of the goods resulting from the handling other than what is necessary to establish the nature, characteristics and functioning of the goods.
Exceptions to the right of withdrawal
The right of withdrawal does not apply to:
Books are shipped from our US or UK warehouses. Delivery estimates allow for delivery from either location.
| Order quantity | 7 to 14 business days | 7 to 14 business days |
|---|---|---|
| First item | £ 0.00 | £ 0.00 |
Delivery times are set by sellers and vary by carrier and location. Orders passing through Customs may face delays and buyers are responsible for any associated duties or fees. Sellers may contact you regarding additional charges to cover any increased costs to ship your items.