Max Glenister The key points of Working Effectively with Legacy Code - Change Messy Software Without Breaking It This book is a reference. Here's my summary of its salient points so you understand why it's so reco understandlegacycode.com