Refactoring holds same level of importance as coding the behavior. I enjoy refactoring my code as it leads to much cleaner code and also gives you the knowledge of how to do something better. But identifying what and where to refactor is something that a programmer gains through the practice.
Recently I found a great catalog of commonly used refactorings, which is compiled by Martin Fowler.
Visit or bookmark the link - http://refactoring.com/catalog/index.htmlÂ