DRY - 반복하지 마라 (Don't Repeat Yourself. 소프트웨어를 신뢰성 높게 개발하고, 개발을 이해하고 유지보수하기 쉽게 만드는 유일한 길이 DRY 원칙이다.
- 강요된 중복(Imposed duplication) : 개발자들은 환경상의 문제로 중복을 피할 다른 대안이 없다고 생각한다.
- 부주의한 중복(Inadvertent duplication) : 개발자들은 자신이 중복해서 일하고 있음을 인지하지 못한다.
- 참을성 없는 중복(Impatient duplication) : 여러가지 고민을 해보지 않고 쉽다고 생각하여 중복해서 일한다.
- 개발자간의 중복(Interdeveloper duplication) : 여러개발자들이 서로간에 동일한 정보를 중복한다.