refactoring boundary


There was some recent discussion on the refactoring mailing list about what is or isn't a refactoring. As with these discussions, there's always a danger of debating how many angels fit on a pin, but thinking about the boundaries does have some useful purpose.

The DefinitionOfRefactoring in my book was intentionally informal. The informality rests on a couple of phrases that are distinctly open to interpretation:

The essence of refactoring is that of the sequence of small behavior-preserving changes. Despite the fact that refactoring isn't something that can be formally defined, it's still a pretty precise terms - and I do want to avoid RefactoringMalapropism. But I think it's worth thinking about some of these cases, which I'm putting in different bliki entries: IsChangingInterfacesRefactoring, IsFixingAnUnknownBugRefactoring, IsOptimizationRefactoring, and IsDeclarationOrderingRefactoring.

if you found this article useful, please share it. I appreciate the feedback and encouragement