
Abstract
Two distinctly different widely used meanings of the term code refactoring are identified and named: a) changing the way the code works, hopefully without changing the requirements that it fulfills, (refactoring in the weak sense,) and b) changing the way the code is expressed, without changing the way it works (refactoring in the strong sense.)