의도를 밝히고 구현을 숨김
2248 단어 codewebdevbeginnersjavascript
❌ 아래 예에서 의도는 구현과 혼합되어 있습니다.
users
.filter(user -> user.registrationDate.isBefore(dayjs().minus('years', 1)) && user.hasPurchases())
.filter(user -> authenticationService.isAuthenticated(user));
이 코드가 수행하는 작업을 이해하려면 뇌가 의도와 구현을 구분해야 합니다. 신중한 생각에 5-10초를 할애해야 합니다. 제한적이고 귀중한 두뇌 연료를 소모합니다. 그리고 그것은 단지 하나의 방법일 뿐입니다.
✅ 이제 코드를 개선해 봅시다. 인텐트는 보이는 상태로 두고 구현은 숨깁니다.
users
.filter(isLoyal)
.filter(isAuthenticated);
코드가 무엇을 하는지 즉시 알 수 있습니다. 코드는 구현 세부 사항으로 오염되지 않습니다. 세부 사항은 숨겨져 있습니다. 꼭 필요한 정보만 남기고 노이즈를 제거하는 것을 추상화라고 합니다. 잘 추상화된 코드는 스캔하기 쉽습니다. 제대로 추상화되지 않은 코드에는 많은 신중한 생각과 주의가 필요합니다.
🧠 기억하세요: 좋은 코드는 의도를 드러내지만 필요할 때까지 구현 세부 사항을 숨깁니다. 본질을 가시화하십시오. 나머지는 숨깁니다.
🦄
Reference
이 문제에 관하여(의도를 밝히고 구현을 숨김), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/codingunicorn/reveal-intent-hide-implementation-42lc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)