Как обозначить вложенные массивы, структуры или классы венгерским способом?

StackOverflow https://stackoverflow.com/questions/1073617

Вопрос

у меня есть массив, который содержит другой массив

Стал бы я обозначать это таким образом?
псевдокод:

rgrgTest = newArray(2)

Что делать, если массив содержит, т. е.структура?
псевдокод:

rggrTest = newArray(2).newStruct()

Или таким образом, т. е.если я хочу классифицировать типы данных структуры?
псевдокод:

rggrlstlTest = newArray(2).newStruct(int id, str desc, int value)
Это было полезно?

Решение

"Правильный" способ диктуется вашим стандартом кодирования и списком префиксов.

Порядок префиксов обычно представляет собой порядок, в котором то, что они представляют, было бы прочитано на вашем родном языке.

Используйте однобуквенные префиксы (или одну букву + цифры для целых типов), чтобы имена не становились слишком неуправляемыми, поэтому, возможно, 'u8' для 1-байтового целого числа без знака, 'a' для массива, 'r' для структуры (как в "record").

Не включайте элементы структуры в префикс;это просто становится слишком громоздким.

Итак, чтобы привести несколько примеров:

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

Примечание:Это системная венгерская нотация, и она, похоже, очень непопулярна у пользователей Stack Overflow, но не пугайтесь!Это все еще распространено во встроенном программном обеспечении.

Смотрите также Статья в Википедии по этому вопросу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top