Refactoring: Improving the Design of Existing Code

I have already read it after borrowing a copy from my library. But it is so helpful that I think every developer should have it at hand.