Every line of code that goes into an application must be maintained, and is a
potential source of future bugs. Duplication needlessly bloats the codebase,
resulting in more opportunities for bugs and adding accidental complexity to
the system. The bloat that duplication adds to the system also makes it more
difficult for developers working with the system to fully understand the entire
system, or to be certain that changes made in one location do not also need
to be made in other places that duplicate the logic they are working on. DRY
requires that “every piece of knowledge must