I just finished reading Refactoring - Improving the design of existing code by Martin Fowler. And it amazed me how much of it mirrors my experiences and my methods for refactoring. Both of us sync on all the same major points. I do have some minor issues with it but overall it's been great read. I think it speaks highly to the veracity of refactoring, as an integral way of improving code, that the same conclusions are continually reached independently. I highly recommend reading this book