I quote from Martin Fowler from his book "Refactoring-Improving the design of existing Code"
Refactoring is the process of changing code in such a way that it does not alter the external behavior of the code, yet improves its internal structure. In essence when you refactor you are improving the design of the code after it has been written.
“Improving the design after it has been written”, that’s an odd turn of phrase. In our current understanding of software development we believe that we do design, and then we code. A good design comes first, and the coding comes second. Over time the code will get modified and the integrity of the system, its structure according to that design gradually fades. The code slowly sinks from engineering to hacking.
"Refactoring is the opposite to this. With refactoring you can even take a bad design, chaos even, and rework it into well designed code. Each step is simple, even simplistic. You move a field from one class to another, pull some code out of a method to make into its own method, push some code up or down a hierarchy. Yet the cumulative effect of these small changes can radically improve the design. It is the exact reverse of the normal notion of software decaying."
What is a refactoring tool/browser ?
A tool to make refactoring changes is called a refactoring browser or a refactory
There is a refactoring browser for Small talk
To get a look at a Smalltalk-based refactoring browser, take a look at http://st-www.cs.uiuc.edu/~brant/RefactoringBrowser
look at www.refactoring.com
Copyright © 1999 [VinodKiran]. All rights reserved.