Column · when to rewrite
Is the cost of changing it now lower than the cost of working around it for another year? If the workarounds are growing faster than the changes, the answer is eventually yes.
When the thing works and the complaint is aesthetic. A rewrite of working code destroys the accumulated knowledge encoded in its oddities, and that knowledge is expensive to recover.
Rewrite one boundary at a time, keeping the system working. It is slower and it never produces the satisfying moment — which is why it is the option that usually survives.
See the data this is built on
Open the snapshot