Legacy code can be challenging to use and extend. The book Working Effectively with Legacy Code, written by Michael Feathers, talks about legacy code and how to work effectively with it.