Мое переменное соглашение о присвоении имен имеет имя?

Я думаю, что второе является "надлежащим", но быть честным я не думаю, что это будет иметь значение. Компилятор должен быть достаточно умным для компиляции любого из тех к тому же самому байт-коду. Я использую "" меня.

9
задан Peter Turner 17 July 2009 в 13:02
поделиться

5 ответов

Этот стиль кодирования специально вызывается в Руководстве по стилям Object Pascal , поскольку не является венгерской нотацией (за одним исключением, перечислимые типы .)

Конкретные соглашения о кодировании, о которых вы говорите, не имеют названия как такового, насколько мне известно, вы просто пишете код, соответствующий руководству по стилю кодирования CodeGear (старый Borland). . Руководство не

18
ответ дан 4 December 2019 в 06:00
поделиться

Я бы сказал, что ваше соглашение об именах на самом деле не соответствует венгерской нотации, но оно немного ближе к оригинальной венгерской нотации, изобретенной Чарльзом Симони, которая стала известна как Приложения венгерский . Но не совсем.

На самом деле существует два типа венгерской нотации:

  • Венгерские приложения - идея заключалась в том, чтобы украсить имена идентификаторов на основе семантической информации о том, что они хранят, поэтому в основном предназначение переменной :
    rwElement - variable represents a row ("rw")
    colElement - variable represents a columns ("col")
  • Венгерские системы - префикс кодирует фактический тип данных переменной.
    szName - variable is a zero-terminated string ("sz")
    lAccount - variable is a long integer ("l")

Таким образом, хотя ваше соглашение об именах в некотором смысле представляет собой некую цель, на самом деле это не так. цель, к которой относится Apps Hungarian.

10
ответ дан 4 December 2019 в 06:00
поделиться

Ваша схема может считаться некоторой формой венгерского обозначения (HN). Обычно HN используется для обозначения типа переменной, но, как отмечает Википедия,

нотация иногда расширяется в C ++ для включения области переменная, разделенная знаком подчеркивания. Это расширение также часто используется без венгерского спецификация типа: [..]

10
ответ дан 4 December 2019 в 06:00
поделиться

В целом это звучит как венгерская нотация, но здесь не указаны соглашения A, F или M, в частности, только добавление информации о типе к имени.

7
ответ дан 4 December 2019 в 06:00
поделиться

Ваш относится к общему классу соглашений об именах, известному как венгерская нотация (в возможно более широком, чем обычно, смысле что у имени есть префикс, описывающий переменную), но нет, в вашем соглашении нет более конкретного имени.

Я никогда раньше не видел вашего конкретного выбора префиксов. Самое близкое, что я видел, это то, что я называю соглашением Indy , который использует A для аргументов, F для полей, G для глобальных объектов, L для локальных и, конечно же, обычный I для интерфейсов и T для записей и классов. Свойства и подпрограммы не имеют префикса.

7
ответ дан 4 December 2019 в 06:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: