포럼을 검색했지만 피해야하는 이유와 은색 총알이 아닌 이유 만 찾을 수 없었습니다. 그래서 나는이 질문이 중복이라고 생각하지 않습니다.
거기 VALID 로 사용 해요 내가 시스템 헝가리어 I을 잊다해야하는 이유 이유는?
지금까지 사용하면 다음과 같은 이점이 있습니다.
- 일관된 변수 이름
- 검색하지 않고 유형을 볼 수 있습니다 (지능형이 죽었거나 색인을 생성하는 절반 시간이므로 여전히 유효한 이유입니다)
- 시맨틱은 여전히 이름의 두 번째 부분으로 압축 될 수 있습니다
그리고 다음과 같은 단점이 있습니다.
- 그것은 어떤 사람들을 귀찮게합니다 (왜 그런지 모릅니다)
- 유형이 변경되면 유형이 변수의 이름과 일치하지 않을 수 있습니다 (유효한 이유는 아니며 유형이 거의 변경되지 않으며 "모두 이름 바꾸기"가 있음)
왜:
vector<string> vecCityNames;
wstring strCity = L"abc";
//more code here
vecCityNames.push_back(strCity);
보다 더 나쁜 :
vector<string> cityNames;
wstring city = L"abc";
//more code here
cityNames.push_back(city);//Are we pushing back int on a queue? Float on a stack? Something else?
vectCityNames
할 vectStringCityNames
당신의 일관된 인수에 대해 너무 많이,이 "질문에"더 무엇보다 호언 장담이다, 당신은 당신의 마음이 닫혀 있어야, 최대 만들었습니다.
cityNames.push_back(city)
는 매우 분명합니다. 도시 이름 목록이며 추가하고 있습니다.