Refactoring: Improving the Design of Existing Code

by Martin Fowler · 1999