There’s always a relevant xkcd.
I hate that it’s true.
Nothing lasts longer than a crudely thought out band aid solution to a not fully understood problem.
That is why I am always so hesitant to allow code that should be cleaned up in a future task. I know that sometimes you have ship something NOW but it always hurts.
Lots of people here lamenting about this. But the truth is that good code is easy to modify/delete.
I feel like it’s not that it couldn’t be removed, but more that it’s too low ROI. Devs are expensive
True, that. Reminds me of the trap I’ve build for myself in many areas of my life. I grew up poor so even when I have money, when I see something expensive I want, my first instinct is “could I learn to make that myself?”. I’m very good at making things, so the answer is usually yes, given a decent chunk of time to learn.
Unfortunately, at risk of sounding like a humblebrag, I am now too good at too many things. Because I, in theory, could make the thing and already posses the tools and knowledge to do so, I’m even more averse to buying the thing. However, the better I get at Stuff, the more limited (and expensive) my time is.
It’s the same liminal space of "the plaster could be removed, but it’s currently not worth it.
The rainy day(that will never come) project
It wasn’t well thought-out solution if it was obsoleted within 3 months.
Or the change was for a different product.
I’ve watched so much good code written professionally die because of the whims of leadership in the past.
Good code does not equal to well thought-out solution.
I was directly responsible for many projects, and during analysis we always had questions about features where client said ‘naah, never gonna need that’.
And I almost always added the foundation for such features, and almost always it was necessary within a year.
To quote Uncle Bob: ‘TODO means never do.’
Beautiful code, bad architecture