Martin Fowler has written an excellent book about Refactoring. It’s well worth getting a copy and encouraging everyone to read it, even if they only get as far as a couple of chapters. These learning hours help you to practice the skills you need to use the refactorings in his book and improve the design of your production code.

I have a page with suggested series on Refactoring for various programming languages. Below is the full list: