When do you rewrite vs. patch?

The codebase has scars.

Every bug fix takes longer than the last one, every new feature means touching five files I'm scared of, and I can physically feel the drag when I sit down to work.

A rewrite would be clean, fast, and honestly a joy. I can see the whole architecture in my head and it's beautiful.

It would also freeze all new features for months, break things that currently work fine, and probably ship with its own fresh set of bugs that I'll spend another year patching.

"Never rewrite" is advice from people who've never maintained this particular mess. "Always rewrite" is advice from people who've never had to ship on a deadline.

There's a version where I rewrite in place, module by module, and never stop shipping — but that's slower than either and I've never seen it actually finish.

How do you know when it's genuinely time, and did you ever regret waiting too long — or pulling the trigger?

2 views

Add a comment

Replies

Be the first to reply

Have a question or a thought to share? Add a comment above to start the conversation.