|
|
|
|
|
by sershe
1617 days ago
|
|
One reason is people changing jobs more ;) On large, old codebases, it basically results in lava flow development. The difference with the regular code rot that could be prevented/reversed with refactoring, more time spent on code quality, best practices etc. is that it's self-reinforcing and perpetuating, with metaphorical layers of code rot on top protecting those lower and shifting the trade-off between cleaning up and adding one more even further towards the latter ;) Old layers solidify and new ones flow on top of them (layers being metaphorical, not "architectural") In a large complex system, say something written lovingly with best practices by a guy who has left 3 years ago, needs to be modified. The new dev doesn't have a good mental model of this code, or maybe has no model because it's the first time anyone still on the team is looking at it in depth. Even with best intentions, they tend to work "around" the old code with less modifications than the original developer would have made to properly integrate the change; instead they put stuff on the "outside"... aside from additional code rot/clunkiness, this also results in fragile dependencies that are even harder to untangle and clean up, and perpetuates the cycle. |
|