Software Design: Tidy First?

Share this post

User's avatar
Software Design: Tidy First?
Reversible Structure Changes

Reversible Structure Changes

Kent Beck's avatar
Kent Beck
Aug 12, 2022
∙ Paid
21

Share this post

User's avatar
Software Design: Tidy First?
Reversible Structure Changes
6
Share

What's the difference between a bad haircut & a bad tattoo? The bad haircut grows out but the bad tattoo is forever (well, not forever forever, but way harder to undo).

How are structure changes different from behavior changes? One property, relevant to "Tidy First?" is that structure changes are generally reversible. You extract a helper function & you don't like it? Inline it. It's like that helper never existed.

Constrast this with a regrettable behavior change. Send out 100,000 tax notices with the wrong number on them. Now what? Well, it'll cost you plenty to fix them. The damage to your reputation may be permanent. If only you'd caught that problem 5 minutes _before_ you sent the notices instead of 5 minutes _after_.

This post is for paid subscribers

Already a paid subscriber? Sign in
© 2025 Kent Beck
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share