В Соглашение об именах Лешинского (или же LNC) является вариантом Венгерская нотация популяризирован консультантом Стэном Лешински специально для использования с Microsoft Access разработка.[1] Хотя соглашение об именовании в настоящее время часто используется в Microsoft Access сообщества и является стандартом в Visual Basic программирования, он не используется широко где-либо еще.
Соглашения основаны на более раннем наборе соглашений, соглашениях об именах Лешински / Реддика, первоначально разработанных в 1992 г. Грег Реддик. В конце концов, у Лешински и Реддика возникли разные идеи о том, как следует разрабатывать соглашения и разделить их на два отдельных набора соглашений, второй из которых является Соглашения RVBA.
Как и во всех венгерских обозначениях, в нем используются префиксы (называемые теги) для обозначения типа объекты и разработка базы данных поля. Общая структура венгерской системы обозначений (названа в честь Чарльз Симониродной страны) состоит в том, чтобы разбить имена объектов на следующие элементы: [префикс (-а)] [тег] BaseName [Суффикс / квалификатор] Теги нижний регистр и имя объекта верблюд. Пробелы и подчеркивания не используются.
Преимущества
Поскольку соглашение об именах Лешинского - это особая форма Венгерская нотация те же общие преимущества применимы и к соглашению Лешинского.
Использование отличительных префиксов делает вашу базу данных самодокументированной; когда ты видишь frmSales в коде VBA вы будете знать, что он ссылается на форму, и когда вы увидите curSales вы будете знать, что это переменная валюты. При выборе запроса из раскрывающегося списка вы будете знать, что запрос, начинающийся с qmak - запрос make-table, а запрос, начинающийся с Quni это запрос на объединение. Эта информация позволит вам избежать ошибок, таких как использование метода SetFocus (метод управления) с полем или попытки открыть таблицу.
Недостатки
- Поскольку соглашение об именах Лешинского - это особая форма Венгерская нотация те же общие недостатки применимы и к соглашению Лешинского.
- Изменения в дизайне базы данных могут потребовать полного переименования. Например, замена таблицы запросом потребует либо сохранения имени таблицы для запроса, либо перебора всей базы данных с заменой имени таблицы на имя запроса.
- При переносе базы данных в другую СУБД возникнут проблемы, если целевая СУБД не поддерживает CamelCase имена.
- Поскольку каждый объект одного и того же типа начинается с одной и той же буквы, перемещаться по объектам в Окно списка набрав начальную букву.
Элементы
Элементы соглашения об именах описаны в следующей таблице.
Компонент | Описание | Пример |
---|
Префикс (а) | Строчная буква, добавляющая дополнительную информацию к тегу. | p для публичной переменной |
Тег | Последовательность из трех букв, указывающая тип объекта. | таблица для стола |
BaseName | Слово или два, описывающих объект. Если используется несколько слов, каждое начинается с заглавной буквы, и между ними нет пробелов. | OutlookContacts - контакты, импортированные из Outlook |
Суффикс (RVBA), квалификатор (LNC) | Слово, дающее более конкретную информацию об объекте | ByDate - данные отсортированы по дате |
Основные префиксы объектов LNC
Объект | Тег |
---|
Неполные объекты, объекты резервных копий или объекты, находящиеся в стадии разработки | _ или - (В некоторых версиях Access дефис сортируется в начало списка объектов базы данных.) |
Скрытые системные объекты | ж |
Отображаемые системные объекты | zs |
Программно созданные временные объекты | zt |
Резервные копии объектов для последующего копирования или повторного использования | zz |
Основные префиксы переменных LNC
Тип переменной | Тег |
---|
Локальная переменная | [без префикса] |
Локальная статическая переменная | s |
Переменная уровня модуля | м |
Публичная переменная в модуле формы или отчета | п |
Публичная переменная, объявленная в разделе объявлений стандартного модуля | грамм |
Базовые теги объектов базы данных LNC
Объект | Тег |
---|
Модуль класса | cls |
Форма | от |
Форма (диалог) | fdlg |
Форма (меню) | fmnu |
Форма (сообщение) | fmsg |
Форма (подчиненная) | fsub |
Макрос | mcr |
Модуль | бас |
Модуль | мод |
Запрос (любой тип) | qry |
Запрос (добавить) | qapp |
Запрос (кросс-таблица) | qxtb |
Запрос (определение данных) | qddl |
Запрос (удалить) | qdel |
Запрос (фильтр формы) | qflt |
Запрос (поиск) | qlkp |
Запрос (make-table) | qmak |
Запрос (выберите) | qry (или qsel) |
Запрос (сквозной SQL) | qspt |
Запрос (объединение) | Quni |
Запрос (обновление) | qupd |
Отчет | rpt |
Отчет (подотчет) | rsub |
Стол | таблица |
Средний стол | Trel |
Таблица (прилагается dBASE) | tdbf |
Таблица (прилагается Excel) | txls |
Стол (прилагается FoxPro) | tfox |
Стол (прилагается лотос) | Twks |
Таблица (прилагается ODBC) | todb |
Таблица (прилагается Paradox) | tpdx |
Таблица (прилагается SQL Server) | tsql |
Таблица (прилагаемый текст) | ttxt |
Таблица (поиск) | tlkp |
Страницы | pge |
Теги полей таблицы LNC
Объект | Тег |
---|
Автономный номер (случайный непоследовательный) | idn |
Autonumber (ID репликации) | idr |
Автономный номер (последовательный) | идентификаторы |
Двоичный | мусорное ведро |
Байт | быт |
Валюта | дворняга |
Дата / время | dtm |
Двойной | dbl |
Гиперссылка | hlk |
Целое число | int |
Длинный | lng |
Памятка | мем |
OLE | оле |
Одинокий | sng |
Текст (символ) | chr |
Да / Нет (логическое значение) | ysn |
Теги LNC для переменных VBA
Объект | Тег |
---|
Булево | млрд |
CommandBar | cbr |
Элемент управления (общий; полезно при циклическом переключении элементов управления в форме или отчете) | ctl |
Валюта | дворняга |
База данных | dbs |
Двойной | dbl |
Форма | от |
Целое число | int |
Длинный | lng |
QueryDef | qdf |
Отчет | rpt |
Одинокий | sng |
Снимок | snp |
Нить | ул |
Стол | таблица |
Тип (определяется пользователем) | тип |
Вариант | вар |
Теги LNC для элементов управления формами и отчетами
(также может использоваться в элементах управления ссылками на код)Объект | Тег |
---|
Вложение | att |
Рамка связанного объекта | frb |
График (график) | чт |
Флажок | чк |
Поле со списком | cbo |
Командная кнопка | cmd |
Пользовательский контроль | ocx |
Рамка | фра |
Гиперссылка | hlk |
Изображение | img |
Этикетка | фунт |
Линия | Линь |
Окно списка | lst |
Кнопка выбора (переключатель) | выбрать |
Группа вариантов | grp |
Страница (на вкладке) | pge |
Разрыв страницы | BRK |
Прямоугольник (форма) | shp |
Подчиненная форма / отчет | суб |
Вкладка | вкладка |
Текстовое окно | текст |
Кнопка-переключатель | tgl |
Кнопка | кстати |
Несвязанная рамка объекта | фрукт |
Некоторые типичные имена LNC для объектов, элементов управления и переменных базы данных
Имя объекта / переменной | Элементы именования LNC | Описание |
---|
tblEmployees | тег + базовое имя | Таблица данных сотрудников |
qupdSales | тег + базовое имя | Запрос, обновляющий данные о продажах |
fsubDayMax | тег + базовое имя + квалификатор | Подформа, показывающая максимальный день |
intLines | тег + базовое имя | Переменная типа Integer для хранения значения, представляющего количество строк в таблице Word. |
curSales | тег + базовое имя | Переменная валюты, содержащая значение продаж |
pstrForm | префикс + тег + базовое имя | Публичная переменная String, содержащая имя формы |
zztblКонтакты | префикс + тег + базовое имя | Резервная таблица контактов, для копирования и заполнения импортированными данными |
Рекомендации
Часть этой статьи основана на книге Хелен Феддема, Индивидуальная разработка приложений для Microsoft Access, Вайли, ISBN 0-7645-5904-4.
внешняя ссылка