3 ms·
If it's well tested a straight re-write is the right call. It's when there isn't good test coverage where things ossify.
by 3pt14159 8y ago
If it's well tested a straight re-write is the right call. It's when there isn't good test coverage where things ossify.
- mseebach 8y agoIn theory. In practice, the code will often have corner case behaviours that eludes any of the tests, yet are still important. As an aside, as I understand it, refactoring was popularised as a response basically to this conundrum - it's a technique for reorganising code without changing its functionality. So you can gradually "rewrite" your two page function without losing the accumulated knowledge.
- 3pt14159 8y agoUnless we really stretch the word "refactor", my "in practice" is different than yours. I've done plenty of re-writes that fixed more unknown bugs than re-opened previously solved ones.