Refactoring code -- changing its structure without changing its behavior -- is, perhaps, the most powerful tool for improving code. == Catalogs of Refactorings == * Martin Fowler's [[http://www.refactoring.com/catalog/index.html|catalog]], mostly from his book ''Refactoring: Improving the Design of Existing Code'' (ASIN:0201485672) * Joshua Kerievsky's [[http://www.industriallogic.com/xp/refactoring/catalog.html|catalog]], from his book ''Refactoring to Patterns'' (ISBN:0321213351)