Zasady projektowania obiektowego – DRY

Zasada DRY (Don’t Repeat Yourself) mówi, że każdy fragment kodu powinien mieć tylko jedną, niepowtarzalną definicję w całej aplikacji.

Przykład: Jeśli w aplikacji mamy kilka miejsc, gdzie trzeba skonwertować wartość liczbową na ciąg znaków, to lepiej jest utworzyć jedną funkcję i używać jej w każdym miejscu, zamiast powtarzać ten sam kod w każdej funkcji, co zwiększa ryzyko wystąpienia błędu i utrudnia utrzymanie kodu. Dzięki zasadzie DRY kod jest bardziej przejrzysty, łatwiejszy do zrozumienia i mniej podatny na błędy.

Przykład kodu, który łamie zasadę DRY:

				
					function add(x, y) {
  return x + y;
}

function multiply(x, y) {
  return x * y;
}

function subtract(x, y) {
  return x - y;
}

function divide(x, y) {
  return x / y;
}
				
			

Ten kod łamie zasadę DRY, ponieważ każda funkcja ma powtarzający się wzorzec. Zamiast tego można utworzyć jedną funkcję, która przyjmuje trzy argumenty: x, y i operator matematyczny, który określa, jakie działanie należy wykonać.

Poprawiony kod:

				
					function calculate(x, y, operator) {
  switch (operator) {
    case "+":
      return x + y;
    case "-":
      return x - y;
    case "*":
      return x * y;
    case "/":
      return x / y;
  }
}

				
			

Ten kod jest bardziej zgodny z zasadą DRY, ponieważ funkcja calculate() jest jedyną funkcją, która wykonuje działania matematyczne, a reszta kodu korzysta z tej funkcji, zamiast powtarzać ten sam wzorzec.