Working Effectively with Legacy Code

The title of this book is actually deceptive.  The book is really about adding unit tests to a legacy code base!  It is a very technical book with lots of examples used by the author to illustrate various design patterns.  These design patterns each have an application in understanding a legacy code base and encoding this learning into unit tests.  

There is also something else that becomes clear after the book gets to the more challenging problems encountered in adding unit tests.  These chapters are some version of “I can’t get this code under test.”  You see very quickly that writing unit tests teaches you to write better quality software, more maintainable software, and more modifiable software.  Moreover, you soon see why Michael recommends writing tests first.  This is the first source I have encountered that does a good job of teaching test driven development (TDD).

Leave a Reply