Como anotar matrizes aninhadas ou estruturas ou classes da maneira húngara?
-
21-08-2019 - |
Pergunta
Eu tenho uma matriz wich contém um outro array
Será que eu anotar-lo desta maneira?
pseudocódigo:
rgrgTest = newArray(2)
E se a matriz contém ou seja, um struct?
pseudocódigo:
rggrTest = newArray(2).newStruct()
Ou desta maneira ou seja, se eu quiser classificar os tipos de dados do struct?
pseudocódigo:
rggrlstlTest = newArray(2).newStruct(int id, str desc, int value)
Solução
A maneira "certa" é ditada pelo seu padrão de codificação e lista de prefixos.
A ordem dos prefixos normalmente representa a ordem em que as coisas que eles representam seria lida em sua língua nativa.
Use prefixos de uma única letra (ou única letra + números para tipos inteiros) para parar os nomes ficando muito incontrolável, talvez por isso 'u8' para 1 byte inteiro sem sinal, 'a' para array, 'r' para struct ( como em "record").
Não inclua os elementos da estrutura dentro do prefixo; que só fica pesado demais.
Assim, para dar alguns exemplos:
au8My1DArray[] // A 1-dimensional array of unsigned 1-byte integers
aau8My2dArray[][] // A 2-dimensionnal array of unsigned 1-byte integers
arMyArray[] // A 1-dimensional array of structs
Nota: Esta é a notação Sistemas húngara, e parece ser muito impopular entre os usuários de estouro de pilha, mas não desanime! Ainda é comum em software incorporado.
Veja também a Wikipedia artigo sobre o assunto.