Соглашение об именовании Лешинского (или LNC ) — это вариант венгерской нотации , популяризированный консультантом Стэном Лешинским специально для использования в разработке Microsoft Access . [1] Хотя соглашение об именовании в настоящее время часто используется в сообществе Microsoft Access и является стандартом в программировании на Visual Basic , оно не получило широкого распространения в других местах.
Соглашения вытекают из более раннего набора соглашений, соглашений об именовании Лешинского/Реддика, изначально разработанных в 1992 году Грегом Реддиком. В конце концов, у Лешинского и Реддика возникли разные идеи о том, как следует разрабатывать соглашения, и они разделились на два отдельных набора соглашений, другим из которых стали Соглашения RVBA.
Как и во всех венгерских нотациях, здесь используются префиксы (называемые тегами ) для указания типа объектов и полей разработки базы данных . Общая структура венгерской нотации (названной в честь родной страны Чарльза Симони ) заключается в разбиении имен объектов на следующие элементы: [префикс(ы)][тег]БазовоеИмя[Суффикс/Квалификатор] Теги пишутся строчными буквами , а имя объекта — в стиле camelcase . Пробелы и подчеркивания не используются.
Преимущества
Поскольку система обозначений Лешинского является особой формой венгерской нотации, те же общие преимущества применимы и к системе обозначений Лешинского.
Использование отличительных префиксов делает вашу базу данных самодокументируемой; когда вы видите frmSales в коде VBA, вы будете знать, что он ссылается на форму, а когда вы видите curSales, вы будете знать, что это переменная Currency. При выборе запроса из раскрывающегося списка вы будете знать, что запрос, начинающийся с qmak , является запросом создания таблицы, а начинающийся с quni — запросом объединения. Эта информация позволит вам избежать ошибок, таких как использование метода SetFocus (метод управления) с полем или попытка открыть таблицу.
Недостатки
Поскольку система обозначений Лешинского является особой формой венгерской нотации, те же общие недостатки применимы и к системе обозначений Лешинского.
Изменения в дизайне базы данных могут потребовать полного переименования. Например, замена таблицы запросом может потребовать либо сохранения имени tbl для запроса, либо замены имени tbl на имя запроса во всей базе данных.
При переносе базы данных в другую СУБД возникнут проблемы, если целевая СУБД не поддерживает CamelCase -имена.
Элементы соглашения об именовании описаны в следующей таблице.
Компонент
Описание
Пример
Префикс(ы)
Строчная буква, которая добавляет дополнительную информацию к тегу.
p для публичной переменной
Ярлык
Трехбуквенная последовательность, указывающая тип объекта
tbl для таблицы
БазовоеИмя
Одно или два слова, описывающих объект. Если используется несколько слов, каждое начинается с заглавной буквы, и между ними нет пробелов
OutlookContacts – контакты, импортированные из Outlook
Суффикс (RVBA), Квалификатор (LNC)
Слово, дающее более конкретную информацию об объекте.
ByDate – данные сортируются по дате
Базовые префиксы объектов LNC
Объект
Ярлык
Незавершенные объекты, резервные объекты или объекты, находящиеся в стадии разработки
_ или – (В некоторых версиях Access тире сортируют по началу списка объектов базы данных.)
Скрытые системные объекты
ж
Отображаемые системные объекты
зс
Программно созданные временные объекты
зт
Резервные копии объектов для последующего копирования или повторного использования
зз
Основные префиксы переменных LNC
Тип переменной
Ярлык
Локальная переменная
[без префикса]
Локальная статическая переменная
с
Переменная уровня модуля
м
Публичная переменная в модуле формы или отчета
п
Публичная переменная, объявленная в разделе «Объявления» стандартного модуля.
г
Базовые теги объектов базы данных LNC
Объект
Ярлык
Модуль класса
клс
Форма
фрм
Форма (диалог)
фдлг
Форма (меню)
фмну
Форма (сообщение)
фмсг
Форма (подформа)
фсуб
Макро
мкр
Модуль
бас
Модуль
мод
Запрос (любой тип)
вопрос
Запрос (добавить)
qapp
Запрос (перекрестная таблица)
qxtb
Запрос (определение данных)
qddl
Запрос (удалить)
qdel
Запрос (фильтр формы)
qflt
Запрос (поиск)
qlkp
Запрос (создание таблицы)
кмак
Запрос (выбрать)
qry (или qsel)
Запрос (сквозной SQL)
qspt
Запрос (объединение)
куни
Запрос (обновление)
qupd
Отчет
рпт
Отчет (подотчет)
rsub
Стол
тбл
Средний стол
трель
Таблица (прикреплена dBASE)
тдбф
Таблица (прикрепленный Excel)
txls
Таблица (прилагается FoxPro)
tfox
Таблица (прилагается Lotus)
твкс
Таблица (прикрепленный ODBC)
todb
Таблица (прикреплена Paradox)
тпдх
Таблица (прикрепленный SQL Server)
tsql
Таблица (прикрепленный текст)
ttxt
Таблица (справочник)
тлкп
Страницы
стр.
Теги полей таблицы LNC
Объект
Ярлык
Автономер (случайный непоследовательный)
идн
Автонумерация (идентификатор репликации)
идр
Автонумерация (последовательная)
идентификаторы
Двоичный
мусорное ведро
Байт
быт
Валюта
дворняжка
Дата/Время
дтм
Двойной
двойной
Гиперссылка
хлк
Целое число
инт
Длинный
снг
Памятка
мем
ОЛЕ
оле
Одинокий
снг
Текст (символ)
хр
Да/Нет (логическое значение)
ysn
Теги LNC для переменных VBA
Объект
Ярлык
Булев
млрд.
CommandBar
cbr
Элемент управления (общий; полезен при циклическом переключении элементов управления в форме или отчете)
ctl
Валюта
дворняжка
База данных
дбс
Двойной
двойной
Форма
фрм
Целое число
инт
Длинный
снг
ЗапросDef
кдф
Отчет
рпт
Одинокий
снг
Снимок
снп
Нить
ул
Стол
тбл
Тип (определяется пользователем)
тип
Вариант
вар
Теги LNC для элементов управления формами и отчетами
(также может использоваться в элементах управления, ссылающихся на код)
Объект
Ярлык
Вложение
внимание
Связанная рамка объекта
фрб
Диаграмма (график)
чт
Флажок
Чк
Поле со списком
cbo
Кнопка управления
cmd
Пользовательский контроль
осх
Рамка
фра
Гиперссылка
хлк
Изображение
имг
Этикетка
фунт
Линия
лин
Список
последний
Кнопка выбора (переключатель)
выбрать
Группа опций
грп
Страница (на вкладке)
стр.
Разрыв страницы
брк
Прямоугольник (форма)
шп
Подформа/отчет
суб
Управление вкладками
вкладка
Текстовое поле
текст
Кнопка переключения
тгл
Кнопка
кнопка
Несвязанная рамка объекта
фрукт
Некоторые типичные имена LNC для объектов базы данных, элементов управления и переменных
Имя объекта/переменной
Элементы именования LNC
Описание
tblСотрудники
тег + базовое имя
Таблица данных сотрудников
qupdПродажи
тег + базовое имя
Запрос, обновляющий данные о продажах
fsubDayMax
тег + базовое имя + квалификатор
Подформа, которая показывает максимальный день
intLines
тег + базовое имя
Целочисленная переменная для хранения значения, представляющего количество строк в таблице Word.
curSales
тег + базовое имя
Переменная «Денежная единица», содержащая значение «Продажи»
pstrForm
префикс + тег + базовое имя
Публичная строковая переменная, содержащая имя формы.
zztblКонтакты
префикс + тег + базовое имя
Резервная таблица контактов для копирования и заполнения импортированными данными
Ссылки
Часть этой статьи основана на книге Хелен Феддемы «Индивидуальная разработка приложений Microsoft Access Expert-on-One» , издательство Wiley, ISBN 0-7645-5904-4 .
^ «Соглашения об именовании для Microsoft Access (Архивный контент Microsoft Access)». MSDN.Microsoft.com .[ постоянная мертвая ссылка ]
Внешние ссылки
Соглашения об именовании Лешинского для разработчиков решений Microsoft
Надстройка LNC Renaming Add-in – бесплатная надстройка Access, которая автоматически применяет LNC к базе данных Access 2000, 2002 или 2003.