Notação húngara
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) |