4 ms·
Doing a rewrite. I hit a wall where, in order to go further, I had to do a major redesign. This redesign could have come in the form of incremental refactoring
by VoodooJuJu 6y ago
Doing a rewrite.
I hit a wall where, in order to go further, I had to do a major redesign. This redesign could have come in the form of incremental refactoring or a total rewrite. I sought discussion on rewrites vs refactors to help me decide which path to take, and initially went with the veterans' advice to do an incremental refactor.
I started out with the refactor, but since the project was relatively small, not in production, and developed solely by me, I figured screw it - maybe a rewrite will be faster.
But this rewrite caused me so many problems. The veterans were right - there's so much knowledge and already-accounted-for edge-cases & bug-fixes in that old code. Bugs and cases that I'd apparently forgotten about. Maybe better documentation would have helped the rewrite, but I still think an incremental refactor would have been more productive.
The rewrite took way longer than anticipated and the redesign, although better, wasn't worth the time, and it was incredibly inefficient re-discovering all the little problems that the old code accounted for.