Let's Not Misuse Refactoring
I find that many people confuse refactoring with any change in code.
It’s true. I need to learn how to be gentler when confronting it because it irks me deeply.
When this happens, I say that the interface becomes a published interface (a step beyond a public interface).
Languages provide mechanisms for marking methods public or private. What would a convention for marking a method “published” look like?
It’s at the seams of the system, that’s a good place to start.
Refactoring (noun): a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior.
Refactor (verb): to restructure software by applying a series of refactorings without changing its observable behavior.
So while we refactor (verb), we apply several refactorings (noun).
It’s great to have the definitions handy.