Re Structuring
Program-Transformation.Org: The Program Transformation Wiki
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.
ProgramMigrations 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.
--ArieVanDeursen
CategoryReengineeringPages