The ReverseAndReengineeringTaxonomy defines restructuring as a transformation from one form of representation to another at the same relative level of abstraction. The new representation is meant to preserve the semantics and external behavior of the original.

ProgramTransformation in the classical sense, but it could also be applied at higher levels of abstraction, such as designs or architectures.

ProgramMigration~s going from one dialect to another, or one language to another also belong in this category.

Is ProgramRefactoring (or should we call it ReFactoring) a synonym for ReStructuring? --EelcoVisser
MartinFowler defines a refactoring as:
  • a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior
He then continues to define the verb to refactor as
  • to restructure software by applying a series of refactorings without changing its observable behavior.

So from the definition ReFactoring looks like a special case of ReStructuring.

Furthermore, I associate refactorings with:

  • many small changes applied repeatedly
  • a catalog of widely discussed changes
  • explicit unit tests applied before and after each minimal change
  • interactive, perhaps tool-supported, but not automated.



Revision: r1.3 - 19 Feb 2002 - 15:51 - ArieVanDeursen
Transform > ReStructuring
Copyright © 1999-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback