Соглашение об именах Лешинского - 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

ОбъектТег
Булевомлрд
CommandBarcbr
Элемент управления (общий; полезно при циклическом переключении элементов управления в форме или отчете)ctl
Валютадворняга
База данныхdbs
Двойнойdbl
Формаот
Целое числоint
Длинныйlng
QueryDefqdf
Отчет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.

внешняя ссылка