I was wondering would it be worth using a form of standard such as Hungarian Notation/Systems Hungarian?
Why would I bother if everything I'm doing now is working fine?
closed as primarily opinion-based by gnat, Kilian Foth, Bart van Ingen Schenau, GlenH7, Dynamic Mar 12 '14 at 20:49
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.
I have seen the atrocities people commit in the name of hungarian notation. Please don't go there. Today's IDE/Intellisense etc. are more than capable of telling you about the variable type etc.
And then there is the whole issue of untyped languages.
Well if it is what you prefer, and it makes your code easier to read and understand, then it is a great idea to do. There is of course your typical holy war of not using Systems Hungarian, but if it makes you a more productive code, I say f*ck 'em.
I do however say consider using Apps Hungarian as it is a little more useful in identifying the purpose of a variable (which is what the intention of Hungarian notation was).
The answer here really depends on the language and way you code. For instance, a PHP programmer who makes use of the dynamic typing would not want to use Systems for the fact that the variable wouldn't be correctly pinned down by a type. In this situation I again make my claim towards Apps Hungarian.
No, it is not worth using any form of Hungarian Notation.
The terminology of the day-to-day discussions with the domain experts should not be disconnected from the terminology embedded in the code.
And considering that the code is the most important product of a software project, it is essential that there be little room for anything that doesn't convey the the domain experts concepts and ideas.
In that world, a world where our code reflects the domain, Hungarian notation has absolutely no reason for being.
I will answer something opposite of the question. Hungarian notation actually works GREAT with autocomplete.
Say you have a variable, and the name is intHeightOfMonster.
Say you forget the name of the variable
It could be heightOfMonster or MonsterHeight or MeasurementMonsterHeight
You want to be able to type a letter and get the autocomplete suggest to you some variable names.
Knowing that the heightOfMonster is an int, you just type i and voila.