Advantages
(Some of these apply to Systems Hungarian only.)
Supporters argue that the benefits of Hungarian Notation include:
- The variable type can be seen from its name. (This is particularly useful when looking at the code outside an integrated development environment - like on a printout).
- The type of value returned by a function is determined without lookup (i.e. searching for function definitions in other files, e.g. ".h" header files, etc.)
- The formatting of variable names may simplify some aspects of code refactoring (while making some aspects more error-prone).
- Multiple variables with similar semantics can be used in a block of code: dwWidth, iWidth, fWidth, dWidth
- Variable names can be easy to remember from knowing just their types.
- It leads to more consistent variable names
- Inappropriate type casting and operations using incompatible types can be detected easily while reading code
- Useful with string-based languages where numerics are strings (Tcl for example)
- In Apps Hungarian, the variable name guards against using it in an improper operation with the same data type by making the error obvious as in:
-
- heightWindow = window.getWidth
- When programming in a language that uses dynamic typing or that is completely untyped, the decorations that refer to types cease to be redundant. Such languages typically do not include declarations of types (or make them optional), so the only sources of what types are allowed are the names themselves, documentation such as comments, and by reading the code to understand what it does. In these languages, including an indication of the type of a variable may aid the programmer. As mentioned above, Hungarian Notation expanded in such a language (BCPL).
- In complex programs with lots of global objects (VB/Delphi Forms), having a basic prefix notation can ease the work of finding the component inside of the editor. Typing
btn
and pressing
causes the editor to pop up a list of Button objects. - Applying Hungarian notation in a narrower way, such as applying only for member variables helps avoiding naming collision.
Read more about this topic: Hungarian Notation
Famous quotes containing the word advantages:
“In 1845 he built himself a small framed house on the shores of Walden Pond, and lived there two years alone, a life of labor and study. This action was quite native and fit for him. No one who knew him would tax him with affectation. He was more unlike his neighbors in his thought than in his action. As soon as he had exhausted himself that advantages of his solitude, he abandoned it.”
—Ralph Waldo Emerson (18031882)
“The respect for human rights is one of the most significant advantages of a free and democratic nation in the peaceful struggle for influence, and we should use this good weapon as effectively as possible.”
—Jimmy Carter (James Earl Carter, Jr.)
“To say that a man is your Friend, means commonly no more than this, that he is not your enemy. Most contemplate only what would be the accidental and trifling advantages of Friendship, as that the Friend can assist in time of need by his substance, or his influence, or his counsel.... Even the utmost goodwill and harmony and practical kindness are not sufficient for Friendship, for Friends do not live in harmony merely, as some say, but in melody.”
—Henry David Thoreau (18171862)