안녕하세요 여러분! 이 게시물은 프로젝트의 데이터 유형이 연결되는 방식을 개선하여 데이터 유형을 더욱 안정적이고 이해하기 쉽게 만드는 데 도움을 주기 위해 작성되었습니다.
TLDR 급한 분들을 위해: 동일한 항목을 참조하는 유형 및 상수를 반복하지 말고 암시적인 이름을 지정하십시오(간단한 문자열이거나 숫자이더라도). 이렇게 하면 나중에 코드를 더 쉽게 식별, 수정 또는 제거할 수 있습니다.
전자상거래 웹사이트를 개발 중이고 제품 유형을 다음과 같이 정의했다고 가정해 보세요.
export type ProductType = { id: string; name: string; price: number; };
이런 종류의 프로젝트에서는 간단한 함수를 통해 제품 ID를 참조할 수 있는 다양한 방법을 쉽게 찾을 수 있습니다.
상태 저장소에 제품 데이터를 저장하거나 JS 프레임워크의 다른 구성 요소에 props를 전달하는 등의 고급 상황에
이제 다음 접근 방식으로 문제를 해결해 보겠습니다.
첫 번째 문제를 해결하려면 템플릿 리터럴 유형을 사용하여 새 제품 ID 유형을 ${string}-${string}-${string}-${string}으로 만들 수 있습니다. 여러 파일에 걸쳐 이 작업을 반복하는 것은 이제 짜증나는 일이므로 다음 중 하나를 수행할 수 있습니다.
type ProductIdType = `${string}-${string}-${string}-${string}`
필요한 경우 각 문자열에 대해 서로 다른 유형을 생성하여 참조하거나 이전에 생성한 다른 유형을 참조할 수도 있습니다. 마지막으로 다음과 같이 새로운 유형을 사용하게 됩니다.
(productId : ProductIdType) => {...}
(productId : ProductType['id']) => {...}
이 두 접근 방식 모두 문제 2를 해결합니다. ProductIdType 또는 ProductType['id']를 찾을 때마다 제품 ID를 다루고 있다는 것을 알 수 있으며 이를 바꿔야 한다는 것을 알 수 있습니다.
첫 번째 솔루션이 더 친숙해 보일 수 있지만 이제 제품에 대한 유형과 ID에 대한 유형이 있어 독립적으로 사용할 수 있는 이중 구조를 가지게 됩니다. 다음은 해당 구조를 표현한 예입니다.
이것은 의심할 바 없이 작은 문제이지만 ProductType의 id 항목을 변경/삭제하면 해당 변경 사항이 전체 프로젝트에 반영되지 않습니다.
그러나 마지막 접근 방식은 제가 일반적으로 따르는 접근 방식입니다. 더 나은 단어가 부족하여 데이터의 결합을 증가시키기 때문입니다. 이제 제품 데이터에 대한 모든 참조가 ProductType:
을 직접 가리킵니다.모든 데이터에 대해 항상 유형을 생성해야 한다는 말은 아닙니다. 동일한 데이터 유형에 대한 참조가 반복되는 것을 볼 때마다 일반적으로 두 번째 접근 방식처럼 원본 데이터에 액세스하는 것을 선택합니다.
보너스 팁 1: const에 동일한 논리를 적용할 수 있습니다. 여러 위치에서 동일한 매직 넘버나 문자열을 반복하는 경우 적절한 지정을 부여하고 사용하는 것이 가장 좋습니다.
보너스 팁 2: 한 유형의 항목을 반복하는 대신 두 개 이상의 항목을 선택/제외하려면 선택, 생략, 제외 및 기타 유틸리티 유형을 사용하세요.
그게 다예요! 내 게시물이 마음에 들었기를 바랍니다. 이 주제에 대한 피드백을 남겨주세요.
위 내용은 프로젝트의 결합 개선의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!