A Notação húngara, criada por Charles Simonyi, visa a facilitar o reconhecimento do tipo de variável num programa. O nome foi dado a partir de uma brincadeira comum entre os primeiros a conhecer a notação que a achavam estranha, fazendo o seguinte comentário: "É tão estranho que até parece húngaro".
Quando se confronta com a necessidade de dar um novo nome a uma variável num programa, o programador deve tomar alguns cuidados ao tomar essa decisão:
- Nome mnemônico - é aquele que facilita a lembrança do significado pelo programador;
- Nome sugestivo - é aquele em que outros podem ler o código;
- Formato - é sempre visto como uma idéia estética, tendo sempre uma informação eficiente do programa teste;
- Velocidade de decisão - não se pode perder muito tempo para ponderar um simples nome, pois não haverá tempo para editar e digitar nomes de variáveis longos.
A adoção deste critério de nomeação é bastante prática e intuitiva, sendo a idéia básica nomear todos os tipos de quantidades, visando-se a simplificar o entendimento do programa. Algumas vantagens deste método:
- Os nomes em mnemônicos são utilizados num senso muito específico. Se alguém se lembrar da quantidade ou como os nomes foram construídos através de outros tipos, o nome poderá ser lido facilmente.
- Os nomes sugestivos são muito bons. É capaz de se mapear qualquer nome dentro do seu tipo, tendo as informações necessárias para construir sua interface e utilizar de maneira correta sua quantidade.
- Os nomes devem ser consistentes, porque eles são construídos pelas mesmas regras.
- A decisão por um nome deve ser mecânica e rápida.
- As expressões nos programas devem ser sugestivas, facilitando a leitura e acompanhamento do programa.
Com o objetivo de fazer listas intuitivas de se ler, os programas baseados na plataforma Windows utilizam a Notação húngara para gerar estas listas.
As regras para se utilizar a Notação húngara são:
- Os tipos definidos e/ou criados devem aparecer em letras maiúsculas;
- constantes e "Macros" que vêm definidas em arquivos inclusos aparecem também em letras maiúsculas;
- Funções e nomes estruturados começam com letras maiúsculas. Nenhuma marca abaixo são utilizadas para nomes, exceto para os casos que se encontrem nas duas regras anteriores;
- Nomes de objetos começam com uma ou mais letras maiúsculas, indicando o tipo do objeto.
A tabela abaixo indica os tipos de indicadores mais utilizados na Notação húngara:
Nome
|
Descrição
|
s
|
String
|
sz
|
Aponta o primeiro caracter da terminação zero da string
|
st
|
Ponteiro da string, o primeiro byte é contado dos caracteres
|
h
|
handle (título)
|
msg
|
Message
|
fn
|
function (usada com pointer)
|
c
|
char (8 bits)
|
by
|
unsigned char (byte or uchar - 8 bits)
|
n
|
Int
|
b
|
Boolean (verdadeiro ou falso)
|
f
|
Flag (boolean, logical). Se qualificado é usado, pode descrever o estado verdadeiro do flag. Exceção às constantes.
|
u
|
integer
|
w
|
Word
|
ch
|
Char, com texto ASCII
|
l
|
long int (32 bits)
|
dw
|
unsigned long int (dword - 32 bits)
|