Who this book is for
This book is for C++ developers already familiar with and using C++ for daily tasks. You don’t need to be an expert, but you should already know some modern C++ and how to use templates to get the most out of this book.
If you’ve ever struggled to add a new feature to a large project without breaking the software in other places, then this book can help. You’ll become a better software developer and avoid the stress and worry of fixing bugs or making design changes. TDD is a process that will guide you to create intuitive designs that your users will understand and enjoy.
If you’ve ever hesitated over making an improvement and decided to keep an outdated and confusing design that nobody wants to touch because it might break, then this book can help. Maybe you have a good idea but you know your manager will never agree because the risk is too high. If your project is following TDD practices that this book explains, then you can feel more confident about making improvements. You can let the tests prove your idea is solid.
Do you have new team members who need to quickly understand how your software works? The process that this book explores will help you write tests in TDD that will document the software design and requirements. You might even find that the tests help your own understanding especially when returning to a project that you haven’t worked on in a long time.
C++ is a language with a lot of power and details to consider. This book helps to simplify the software development process through TDD. Even if you already know how to use one or more TDD tools, this book will improve your skills and give you the confidence to apply TDD in more advanced or larger projects.