코드를 복사해 붙여넣을 때는 자신에게 물어볼 수 있다. 왜 이걸 함수로 만들지 않는 거지?
다만 모양이 같은 코드가 언제나 같은 지식을 나타내지는 않는다. 서로 다른 규칙을 우연히 같은 방식으로 검사한다면, 두 코드를 합칠 필요가 없을 수도 있다. (『실용주의 프로그래머』 발췌)
DRY는 Don’t Repeat Yourself의 줄임말로 ‘반복하지 마라’는 뜻이다. 앤디 헌트와 데이브 토머스가 실용주의 프로그래머에서 제안한 소프트웨어 개발 원칙 가운데 하나다. 같은 지식, 같은 의도, 같은 로직이 여러 곳에 중복되지 않도록 하는 것이 핵심이다. 같은 규칙을 여러 곳에 적으면 한 곳을 고친 뒤 나머지도 찾아 고쳐야 한다. 시스템 안에서 그 규칙을 한곳에 두면 수정할 곳도 줄어든다.