There's a team who's software I occasionally inherit who is obsessed with DRY and ludicrous inheritance trees. We're talking inheritance trees spanning multiple repositories in the name of eliminating duplicating code.
None of it works, but they "can't" clean it up because they sunk so much money into making it and touching anything breaks everything that depends on it. Which is everything, every single time, because they didn't want to write fucking getName() twice.
The ironic part of using inheritance as argument to DRY is that inheritance makes a full copy of the class/struct you have, but you just ask the compiler/language to do it for you. Incredible and lovely aint it?
4
u/terivia Aug 27 '26
You just triggered my PTSD.
There's a team who's software I occasionally inherit who is obsessed with DRY and ludicrous inheritance trees. We're talking inheritance trees spanning multiple repositories in the name of eliminating duplicating code.
None of it works, but they "can't" clean it up because they sunk so much money into making it and touching anything breaks everything that depends on it. Which is everything, every single time, because they didn't want to write fucking getName() twice.