Concept: Refactoring
This concept explains ways of improving the design of existing code in a way that does not alter its external behavior.
Relationships
Related Elements
Main Description

Refactoring is a disciplined way to restructure code when small changes are made to the code to improve its design.  An important aspect of a refactoring is that it improves the design while not changing the semantics of the design; a refactoring neither adds nor removes functionality.

Refactoring enables you to evolve the code slowly over time, to take an iterative and incremental approach to implementation.

These are the types of refactoring:

  1. Code refactoring.  Often referred to simply as refactoring, this is the refactoring of programming source code.  Examples of code refactorings include Rename Method, Encapsulate Field, Extract Class, Introduce Assertion, and Pushdown Method.
  2. Database refactoring.  A database refactoring is a simple change to a database schema that improves its design while retaining both its behavioral and informational semantics.  Examples of database refactorings include Rename Column, Split Table, Move Method to Database, Replace LOB with Table, Introduce Column Constraint, and Use Official Data Source.
  3. User interface (UI) refactoring.  A UI refactoring is a simple change to the UI which retains its semantics.  Examples of UI refactorings include Align Entry Fields, Apply Common Button Size, Apply Common Font, Indicate Format, Reword in Active Voice, and Increase Color Contrast.

These are suggested resources: