728x90

DRY란 Don't Repeat Yourself의 약자로, 코드에서 중복되는 부분을 최소화하여 코드의 유지보수성을 향상시키고, 코드 작성의 효율성을 높이는 소프트웨어 개발의 원칙이다.

예를 들어, 같은 로직이 여러 번 반복되는 경우, 이를 하나의 함수로 추상화하여 함수를 호출함으로써 중복을 제거할 수 있다. 이렇게 하면 코드의 양을 줄이고, 유지보수성과 가독성을 향상시킬 수 있다.

DRY 원칙을 따르면 코드 중복을 최소화할 수 있으며, 이를 통해 코드를 효율적으로 작성할 수 있다.


예를 들어, 다음과 같은 두 개의 함수가 있다고 가정해보자.

function calculateSquareArea(side) {
  return side * side;
}

function calculateRectangleArea(width, height) {
  return width * height;
}


위의 함수들은 각각 정사각형과 직사각형의 면적을 계산하는 함수이다. 이 두 함수는 로직이 다르지만, 계산하는 방식이 비슷하다. 이를 DRY 원칙에 따라 중복을 제거하여 다음과 같이 변경할 수 있다.

function calculateArea(shape) {
  switch(shape.type) {
    case 'square':
      return shape.side * shape.side;
    case 'rectangle':
      return shape.width * shape.height;
    default:
      throw new Error('Unsupported shape type');
  }
}


위의 함수는 객체를 인수로 받아 해당 객체의 `type` 프로퍼티를 기반으로 면적을 계산한다. 이를 호출할 때, 다음과 같이 인수로 전달한다.

const square = { type: 'square', side: 5 };
const rectangle = { type: 'rectangle', width: 5, height: 10 };

const squareArea = calculateArea(square); // 25
const rectangleArea = calculateArea(rectangle); // 50


위의 코드에서는 `calculateArea` 함수가 더 이상 중복되는 코드를 포함하지 않으며, 객체를 이용해 여러 도형의 면적을 계산할 수 있다. 이러한 방식으로 코드를 작성하면 코드의 가독성과 유지보수성이 높아지고, 코드의 중복을 최소화할 수 있다.

728x90
복사했습니다!