DRY has become a mantra throughout the industry. Any time repetitive code shows up, DRY gets applied as a cure all. If you even start to question DRYing up a piece of code, you are viewed as a heretic to the entire industry.
Ok, maybe it’s not that bad, but many times DRY gets applied without much thought. This careless application of DRY leads to brittle code, making even simple changes scary because they could have a huge ripple effect.
deleted by creator
It’s really about making a conscious choice about which part of your application to keep “humid”. Because you will have repetition somewhere no matter how good your abstractions are. I am advocating for a “humid” top layer and DRY lower levels.
The approach I see too often with overuse of DRY is creating a lot of small functions that only slightly differ in the steps they take. Then you end up searing through those functions, creating new ones, creating duplicates, or using the wrong one. I think it’s easier to maintain a well named, straightforward list of steps.