I believe being in dire need of hungarian is a symptom.
A symptom of too many global variables ...or of having functions too long to be mantainable.
If your variable definition isn't in sight, usually, you've got trouble.
And if your functions don't follow some memorable convention, there again, big trouble.
That's... pretty much the reason why many workplaces dash it out, I suppose.
It originated on languageslanguages that that needed itneeded it.
On times of global variables bonanzaglobal variables bonanza. (for lack of alternatives)
It served us well.
The only real use we have for it today is the Joel Spolsky oneJoel Spolsky one.
To track some particular attributessome particular attributes of the variable, like its safety.
(e.g. “Does variable safeFoobar
has a green light to be injected into a SQL query?
— As it is called safe
, yes”)
Some other answers talked about editor functionsfunctionalities that helped seeing the type of a variable as you hover on it. In my view, those too are kind of problematic for code sanity. I believe they where only meant for refactoring, as many other features too, (like function folding) and should not be used on new code.