Refactoring Is A Design Practice

Refactoring is a skill. We get better at it with practice.

Refactoring is also a habit. Some of us should do it more. Some of us should do it less. (My opinion is that most of us should do it more.)

Software design is a skill. We get better at it with practice.

Let’s not be tempted to think that design is a thing we practice rarely, or a thing that only “architects” are concerned with. Refactoring is a design practice. So a little bit of design happens every time we refactor.

Cultivating a habit of refactoring is a way to build our design muscles. It’s a thing we can do every day. We can do it badly. We can try something crazy and throw it away if it doesn’t work. We can try, try again. That’s how we get better.