PSA:
DRY is not about repeating code, but rather about not repeating knowledge!
DRY is not about repeating code, but rather about not repeating knowledge!
Comments
And it's important to also keep in mind that a lot of times it takes a good amount of system evolution to tease out where the boundaries are even in the conceptual models, let alone the code.
Duplication actually *helps* discover essential differences between various use cases.