language-agnosticnaming-conventionshungarian-notation

Why shouldn't I use "Hungarian Notation"?


I know what Hungarian refers to - giving information about a variable, parameter, or type as a prefix to its name. Everyone seems to be rabidly against it, even though in some cases it seems to be a good idea. If I feel that useful information is being imparted, why shouldn't I put it right there where it's available?

See also: Do people use the Hungarian naming conventions in the real world?


Solution

  • Most people use Hungarian notation in a wrong way and are getting wrong results.

    Read this excellent article by Joel Spolsky: Making Wrong Code Look Wrong.

    In short, Hungarian Notation where you prefix your variable names with their type (string) (Systems Hungarian) is bad because it's useless.

    Hungarian Notation as it was intended by its author where you prefix the variable name with its kind (using Joel's example: safe string or unsafe string), so called Apps Hungarian has its uses and is still valuable.