2025-09-12

Refactoring: strong vs weak

Abstract

Two different meanings of the term code refactoring are identified and named: a) the weak sense, in which we change the way the code works, hopefully without changes in the requirements that it fulfills, and b) the strong sense, in which we change the way the code is expressed without changing the way it works.