If there's a leaky, tangled messy piece of incredibly complex software, but it's small and enables lots of other pieces to be simpler, then it's great.
That's where typical ideas about complexity fail (selecting scope). It's easy to point out a specific part of the code and say it is complicated, without realizing it enables other parts to be simpler.
I've seen a fair share of refactorings that ended up simplifying a core logic but making whole sections that depend on it worse.
If there's a leaky, tangled messy piece of incredibly complex software, but it's small and enables lots of other pieces to be simpler, then it's great.
That's where typical ideas about complexity fail (selecting scope). It's easy to point out a specific part of the code and say it is complicated, without realizing it enables other parts to be simpler.
I've seen a fair share of refactorings that ended up simplifying a core logic but making whole sections that depend on it worse.