코드를 건조한 상태로 유지

1922 단어

안녕하세요 세계!



내 첫 번째 블로그 게시물에 오신 것을 환영합니다!



익숙해지는 데 시간이 좀 걸리는 작업부터 시작해야겠다고 생각했습니다.
  • 코드를 건조하게 유지하십시오.

  • DRY는 Do n't Repeat Yourself의 약자로 일상적인 상호 작용에서 어려움을 겪고 있으므로 DRY 코드를 작성하는 것이 나에게 얼마나 낯설 수 있는지 상상할 수 있습니다!

    DRY 코드는 어떻게 작성합니까?

    음, 먼저 WET(Write Everything Twice) 코드를 살펴보겠습니다.

    배열을 반복한다고 가정해 보겠습니다.
    let array = [1, 3, 6, 9]배열의 각 숫자를 1씩 늘리고 싶으므로 결과는 다음과 같습니다.[2, 4, 7, 10]다음과 같이 표시됩니다.

    function increaseByOne(array) {
      for(let i = 0; i < array.length; i ++) {
        array[i] += 1
        }
      return array;
    }
    


    멋진 코드 스니펫처럼 보이죠?

    그리고 그것은 확실히 우리가 찾고 있는 결과를 제공합니다!

    글쎄, 당신이 그것을 정말로 본다면, 몇 가지가 개선될 수 있습니다!
    우선, 배열의 각 숫자에 1을 더할 때만 이것을 사용할 수 있습니다.
    1을 빼려면 어떻게 해야 할까요? 아니면 2배?
    우리는 완전히 새로운 함수를 작성해야 하며 확실히 WET가 될 것입니다.

    같은 방식으로 2를 곱하는 함수를 작성하는 방법을 살펴보겠습니다.

    function multiplyByTwo(array) {
      for(let i = 0; i < array.length; i ++) {
        array[i] *= 2
        }
      return array;
    }
    


    그것은 거의 동일하지만 우리는 여전히 우리 자신을 반복하고 있습니다!

    코드 자체를 조금 더 다양하게 만들 뿐만 아니라 더 간단하고 읽기 쉽게 만들려면 어떻게 해야 할까요?

    내가 가장 좋아하는 내장 JavaScript 메서드 중 하나는 .map()입니다.

    .map()은 배열을 반복하도록 코드에 지시한 다음 해당 배열과 관련하여 필요한 작업을 수행하기 위해 콜백 함수를 사용합니다!

    그리고 가장 좋은 점은 비파괴적이어서 버그를 피할 수 있다는 것입니다.

    첫 번째 함수를 다시 작성하고 대신 .map()을 사용합시다.

    function increaseByOne(x) {
    return x + 1;
    }
    array.map(plusOne)
    


    우와! 그렇게 쉬운가요?

    확실히 그렇습니다. 훨씬 더 깨끗해 보이지 않습니까?

    이제 두 번째 함수를 복제해 보겠습니다.

    function multiplyByTwo(x) {
    return x * 2;
    }
    array.map(multiplyByTwo)
    


    멋지네요!

    .map()은 제가 가장 좋아하는 내장 JavaScript 메소드 중 하나여야 합니다. 이제 그 이유를 아실 것입니다!

    좋은 웹페이지 즐겨찾기