코드를 건조한 상태로 유지
안녕하세요 세계!
내 첫 번째 블로그 게시물에 오신 것을 환영합니다!
익숙해지는 데 시간이 좀 걸리는 작업부터 시작해야겠다고 생각했습니다.
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 메소드 중 하나여야 합니다. 이제 그 이유를 아실 것입니다!
Reference
이 문제에 관하여(코드를 건조한 상태로 유지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/augustjk/keeping-your-code-dry-f49텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)