Соглашение об именах Лешинского - Leszynski naming convention
В Соглашение об именах Лешинского (или же 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.
внешняя ссылка