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.