Working Effectively with Legacy Code

Michael C. Feathers