# DRY misconceptions

Don't Repeat Yourself (DRY) is one of the most known principle in programming. It is easy to apply as whenever developers are copy pasting their code, they can immediately remember that duplication is bad, as they are repeating themselves.

The original definition of DRY is not quite as simple. The core principle of DRY is to reduce duplication of knowledge, not merely code. Some of the misconceptions I've experienced are:

  1. Documentation or comments can be a knowledge duplication
  2. Code duplication can either be a knowledge duplication or similarities
  3. Data structure can contain knowledge duplication
  4. Duplication across projects (need to balance coupling)
  5. Representational duplication (some are necessary).