Ich habe das Forum durchsucht, aber ich konnte keine Antworten finden, warum es vermieden werden sollte, nur warum es keine Wunderwaffe ist. Ich denke also nicht, dass diese Frage ein Duplikat ist.
Gibt es einen GÜLTIGEN Grund, warum ich Systemungarisch verlernen sollte, an das ich gewöhnt bin?
Bisher sehe ich die folgenden Vorteile bei der Verwendung:
- Konsistente Benennung von Variablen
- Sie sehen Typ ohne Suche (Intellisense ist die Hälfte der Zeit tot / indiziert, daher ist dies immer noch ein gültiger Grund)
- Die Semantik kann immer noch in den zweiten Teil des Namens gepackt werden
Und folgende Nachteile:
- Es nervt manche Leute (keine Ahnung warum)
- Wenn der Typ geändert wird, stimmt der Typ möglicherweise nicht mit der Benennung der Variablen überein.
Warum also:
vector<string> vecCityNames;
wstring strCity = L"abc";
//more code here
vecCityNames.push_back(strCity);
ist schlimmer als:
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
sein , vectStringCityNames
so viel für Ihre konsequente Argumentation, und diese „Frage“ ist eher ein rant als alles andere, haben Sie Ihre Meinung, die aus dieser geschlossen werden sollte.
cityNames.push_back(city)
ist ziemlich klar. Es ist eine Liste von Städtenamen und Sie fügen einen hinzu.