Refactoring

Restructuring existing code to improve its design and readability without changing what it does.

Covers small, behaviour-preserving changes to the structure of existing code. Larger rework of a whole system, often into a new form or technology, is under Software reengineering.

Scheme

Broader terms