Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, 1st edition edition (1999)

by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts