J'ai cherché sur le forum, mais je n'ai pas trouvé les réponses pour lesquelles il devrait être évité, seulement pourquoi ce n'est pas une solution miracle. Je ne pense donc pas que cette question soit en double.
Y at - il une VALIDE raison pour laquelle je désapprendre Systems hongrois je suis habitué?
Jusqu'à présent, je vois les avantages suivants à l'utiliser:
- Dénomination cohérente des variables
- Vous voyez le type sans rechercher (intellisense est mort / indexé la moitié du temps, donc c'est toujours une raison valable)
- La sémantique peut toujours être intégrée dans la deuxième partie du nom
Et les inconvénients suivants:
- Ça agace certaines personnes (aucune idée pourquoi)
- Si le type est modifié, le type peut ne pas correspondre à la dénomination de la variable (je ne pense pas que ce soit une raison valable, les types sont rarement modifiés et vous avez "renommer tout")
Alors pourquoi:
vector<string> vecCityNames;
wstring strCity = L"abc";
//more code here
vecCityNames.push_back(strCity);
est pire que:
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
être vectStringCityNames
tellement pour votre argument cohérent, et cette "question" est plus une diatribe que n'importe quoi, vous avez votre décision, cela devrait être fermé.
cityNames.push_back(city)
est assez clair. Il s'agit d'une liste de noms de villes et vous en ajoutez un.