Doing that continuously does accrete complexity. But there is often a higher cost to fixing a problem rather than working around it.
Similarly I never try to convince management that I need time to improve code quality... I just do it to code that I’m touching. I think people who don’t know the details have the (often correct) heuristic that work that doesn’t deliver incremental results is just an excuse to waste time / sandbag, so I just don’t bother trying to convince about the ROI.
It definitely makes sense to delete code in some cases, but most of the time the solution requires the addition of code. This makes sense, the size of a program doesn't tend towards zero over time. They tend to grow as new features are necessary and yet the old features can't be retired without causing disruption.
That reality, though, isn't always possible, and software will always trend towards larger line counts and more complexity.
>> Existing code exerts a powerful influence. Its very presence argues that it is both correct and necessary.
It's funny you call yourself "pessimizer", because you seem to be good at optimizing.
We have git! You can get it back anytime you want! Just delete it!