Refactoring is the art of improving the design of existing code . Refactoring provides us with ways to recognize problematic code and gives us recipes for improving it.