1. 10

  2. 1

    duplication is far cheaper than the wrong abstraction

    I’ve always had a problem with this, it seems to me there is no such thing as the “right” abstraction. That is, most abstractions start to fail when old code meets new requirements. It’s in the nature of coding abstractions to never quite match the messiness and ambiguity of the real world.

    Obviously, we shouldn’t completely abandon abstraction or DRY, these are the most powerful tools a programmer has. I guess the author is suggesting that you retain some repetition until you discover a better abstraction, but then I’ve always found better abstractions are easier to find when you already have some kind of abstraction.