Maybe I'm biased because its part of my company's coding standards, but I really like using Hungarian.Originally posted by Brian
I also think hungarian notation is retarded. You should know what all your variables are anyway, and you should only have a few of them per function.
When you have millions of lines of code, most of it from other people, knowing the variable type just by looking at it really helps. Even a well named variable, like userSelectedDisplayType, could be many different things - a string, int, long, enum, class, etc. I agree that Microsoft takes this to an extreme, but the idea is still a good one.
Also, I follow the startWithLowerCase andEachAdditionalWord getsCapitalized style, but it just feels wrong that one word doesn't get the capital letter. I'd much rather have iStartWithLowerCase, bAndEachAdditionalWord, or sGetsCapitalized.
Maybe its not necessary in smaller or more beautifully written code libraries, but for me hungarian is definitely preferred.