3 ms·
You don't even have to pay indefinitely, just as long as the code is still in use (for the subset of technical debt that has externally visible effects, such as
by usrusr 7y ago
You don't even have to pay indefinitely, just as long as the code is still in use (for the subset of technical debt that has externally visible effects, such as performance issues) or even just while the code is still routinely being worked on (for the rest). At least it looks like that at first glance, which makes not paying so attractive.
But your alternative mental model is spot on, it's a costly hindrance to development, not a cost imposed by the code itself. And "only until you stop working on that code" is unfortunately just half of the truth, because a team that is used to living with a problematic style instead of dealing with it might easily end up repeating the patterns they abhor when given the chance to greenfield, because they don't know the alternative well enough.