refactoring

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)
    

[email protected]