Working effectively with legacy code - Feathers, Michael C. (Robert C. Martin series, 2005)