★★★☆☆ 3 / 5
I am truly torn about the quality and value of this book. Five years ago, I would have given it five stars. That was before I started worrying about performance of computer programs.
First, this book is primarily aimed at the journeyman programmer working in a classic OOP language where polymorphic functions are the default. If that sentence just described you, stop reading now and pick up this book. You will love it.
The problem with this book is that it doesn’t address the situations where virtual functions are too costly and/or not available. It does mention alternative approaches that don’t rely on OOP from time to time, but only in brief overview kind of way and always with the warning to only do this as a last resort.
In essence, the book fails to address an important question: how, when, and where should you compromise between performance and test coverage in a legacy system? Without this answer, the value and applicability of this book is greatly reduced for people in my field of work.
Fact Sheet
- Author: Michael C. Feathers
- Publisher: Pearson
- ISBN: 0076092025986