from
The Free On-line Dictionary of Computing (8 July 2008)
refactoring
<object-oriented, programming> Improving a computer {program}
by reorganising its internal structure without altering its
external behaviour.
When software developers add new features to a program, the
code degrades because the original program was not designed
with the extra features in mind.
This problem could be solved by either rewriting the existing
code or working around the problems which arise when adding
the new features. Redesigning a program is extra work, but
not doing so would create a program which is more complicated
than it needs to be. Refactoring is a collection of
techniques which have been designed to provide an alternative
to the two situations mentioned above.
The techniques enable programmers to restructure code so
that the design of a program is clearer. It also allows
programmers to extract {reusable components}, streamline a
program, and make additions to the program easier to
implement.
Refactoring is usually done by renaming {methods}, moving
{fields} from one {class} to another, and moving code into a
separate method.
Although it is done using small and simple steps,
refactoring a program will vastly improve its design and
structure, making it easier to maintain and leading to
more robust code.
"Refactoring, Reuse & Reality" by Bill Opdyke
(http://st-www.cs.uiuc.edu/users/opdyke/wfo.990201.refac.html).
"Refactoring, a first example" by Martin Fowler
(http://aw.com/cseng/titles/0-201-89542-0/vidrefact/vidrefact.html).
(2001-05-02)