문제

데이터 처리에서 한 식별자를 다른 식별자에 매핑하기 위해 조회 데이터 구조를 만들어야합니다. 구체적인 예로서, 국가의 2 문자 코드와 전체 이름 사이에 1 대 1 매핑을 보유하는 구조를 가져 가겠습니다. 그것에 우리는 가질 것입니다

AD -> Andorra   
AE -> United Arab Emirates  
AF -> Afghanistan

이지도를 보유 할 변수의 좋은 이름은 무엇입니까? 일부 아이디어 (낙타 이름을 사용하겠습니다) :

countryNameByCode
nameByCodeLookup
nameCodeLookup
codeToName
도움이 되었습니까?

해결책

내 투표는 이루어질 것입니다 codeToName 이 특별한 경우에는 일반화됩니다. 그것은 그것이 내가 모든 경우에 내가 선택했던 이름이라고 말하는 것은 아닙니다. 그것은 범위, 추가 캡슐화 등에 달려 있습니다. 그러나 좋은 이름 인 것 같은 느낌이 들기 때문에 코드를 읽을 수 있도록하는 데 도움이됩니다.

String country = codeToName["SV"];

상당히 멋지게 보이고 누구나 쉽게 이해할 수 있어야합니다. 아마도 "code"라는 단어를 더 정확한 것으로 바꿀 수 있습니다 ( "CountryCode"는 다음 선택이 될 것입니다).

다른 팁

country_name = countries_by_code[country_code]

그것은“전화 받아 들여지는”테스트를 통과하며 자연어와 비슷하게 들립니다.

나는 컬렉션에 복수를 사용하는 것을 좋아합니다.

countryNames

편집하다: countryCodes 코드에서 이름으로 매핑되기 때문에 잘못되었습니다.

나는 보통 이런 식으로한다 :

CountryCodeMappingByName

또는 매핑이 고유 한 경우 간단히 다음과 같습니다.

CountryCodemapping

rwendi

발음 할 때 바로 들리는 것을 사용하십시오. 또한 주요 변수의 이름을 적절하게 이름을 지정합니다. 예시:

countryName = countries[countryCode];

이것은 완벽한 의미가 있습니다 - 당신은 당신이주는 것입니다 countriescountryCode, 그리고 그것은 a countryName. 이것은 중복 될 것입니다 :

countryName = countryCodesToNames[countryCode];

C#에서는 이것을하는 유형을 호출 할 것입니다. CountryCodeToNameMapping. 보통 변수를 호출합니다 countryCodeToNameMapping, 그러나 매우 제한된 상황에서 (예를 들어, lambdas), 아마도 그것을 부를 것입니다 c 또는 m.

당신이 매핑하는 것을 복수화하는 것에 대한 또 다른 투표.

예를 들어. country = countries[code]

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top