I guess that pretty much every developer has heard of the DRY principle: Don't Repeat Yourself. While true in some cases, I believe that it is often misapplied and have found that the negative consequences of using it often outweigh the benefits. So this post is about the premise: 'You are not coding correctly if you apply DRY'.
Okay small disclaimer then, fine. Please do avoid repeating yourself needlessly. But always be critical of whether the abstraction you are about to introduce is actually worth it.