> If you need a good starting idea, consider pulling all of the methods out of one class and putting them into an interface of the same name. Then rename the original class impl. Do this for all classes with exactly one implementation for maximum effectiveness
Or add "I" as a prefix to the interface's name. I always deflect this pattern of doubling code with: "what's the benefit of having it like that?" or "is this benefit worth the cost?".
As for the main question: my reply is "I'll take responsibility for that and refactor this personally.".
My experience is that good and bad code takes roughly the same time to write - the latter is just hard/impossible to modify once you delivered the feature originally requested. Code with unnecessary layers is of course hard to read and thus modify.
Or add "I" as a prefix to the interface's name. I always deflect this pattern of doubling code with: "what's the benefit of having it like that?" or "is this benefit worth the cost?".
As for the main question: my reply is "I'll take responsibility for that and refactor this personally.".
My experience is that good and bad code takes roughly the same time to write - the latter is just hard/impossible to modify once you delivered the feature originally requested. Code with unnecessary layers is of course hard to read and thus modify.