새로운 질서 위키

WET

WET(Write Everything Twice)는 비슷한 코드를 곧바로 하나로 합치지 않고, 몇 차례 따로 작성하며 공통점을 확인하자는 조언이다. DRY를 적용할 시점을 묻는 데 유용하다. 「Stop trying to be so DRY, instead Write Everything Twice」는 두 번의 작성을 허용하고 세 번째에는 공통 부분을 추출할지 살피는 방법을 제안한다. (WET를 제안하는 글)

두 벌을 나란히 놓기

  • 전시 안내 웹 페이지 두 개를 만든다고 가정해보자. 지금은 제목과 날짜가 같은 자리에 있어도, 하나에는 예약이 필요하고 다른 하나에는 작품 목록이 필요할 수 있다. 먼저 각각의 요구를 적어보자.
  • 중복을 남겼다면 같은 오류를 여러 곳에서 고쳐야 할 가능성도 살펴야 한다. 중복을 남기는 이유와 함께 복사한 위치를 기록해두면 이후의 판단에 도움이 된다.
  • 두 번이라는 숫자를 모든 작업의 규칙으로 고정할 필요는 없다. AHA와 단일 책임 원칙을 함께 읽으며 반복 횟수와 변경 이유를 구별하자. 이미 같은 규칙임이 분명한 내용까지 일부러 복제할 이유는 없다.

기타 등등

  • WET를 제안한 위 글에는 독자의 의견을 반영해 ‘DRY는 지식에 관한 원칙’이라는 자료가 추가돼 있다. 제안문 안에도 DRY를 어떻게 읽을지에 관한 반론이 남아 있다. 출처
  • 글의 마지막 조건은 WET와 DRY 모두에서 추상화한 이유를 주석으로 남기라는 것이다. 복사할 횟수뿐 아니라 다음 작업자에게 판단을 전달하는 일도 다룬다. 출처

#원칙 #프로그래밍 #설계