In general I hate digital only books. I much prefer physical books, but this one, like Dive into Design Patterns is worth making an exception for. Nicolas did a great job with this book. It covers 14 different tools to help get you started working with legacy code. If you just inherited some ball of spaghetti and have no idea where to start, this book can definitely point you in the right direction.
You can find out more about the book and purchase it on its website. On the website, there is a list of the 14 techniques covered in the book (there’s actually a 15th bonus technique in the book). Each technique only gets a handful of pages, but it’s enough to get started.
For each technique Nicolas covers:
- When you would use the technique
- The mechanics of how to use it
- The theory behind why it works
- Answers to some common questions you might have about it or problems you might run into.
The book is meant to be more of “Here are some things to try” rather than “Here is everything you ever wanted to know about this specific technique”. There are plenty of references on how to get more information about each of the various techniques, so some additional reading may be desired. That said having a list of options all in one place is very useful. I highly recommend the book. It will definitely get you thinking about different approaches to dealing with legacy code.