Введение

Конвенция именования Лесзински (или LNC) — это вариант венгерской нотации, популяризированный консультантом Стэном Лесзински специально для разработки в Microsoft Access. Хотя в настоящее время эта конвенция часто используется в сообществе Microsoft Access и является стандартом в программировании Visual Basic, она не получила широкого распространения в других областях. Данные правила выведены из более раннего набора правил, конвенций Лесзински/Реддика, первоначально разработанных Грегом Реддиком в 1992 году. В конечном итоге у Лесзински и Реддика возникли разногласия относительно развития этих правил, что привело к разделению на два отдельных набора конвенций, другим из которых является конвенция RVBA. Как и во всех системах венгерской нотации, она использует префиксы (называемые тегами) для обозначения типа объектов и полей разработки баз данных. Общая структура венгерской нотации (названной в честь родной страны Чарльза Симоньи) предполагает разбиение имен объектов на следующие элементы:
[префикс(ы)][тег]ИмяОбъекта[Суффикс/Определитель]
Теги пишутся строчными буквами, а имя объекта — в стиле camelCase. Пробелы и символы подчеркивания не используются.

Преимущества

Поскольку соглашение об именовании Leszynski является особой формой венгерской нотации, к соглашению Leszynski применимы те же общие преимущества. Использование отличительных префиксов делает вашу базу данных самодокументирующейся: увидев frmSales в коде VBA, вы поймете, что это ссылка на форму, а увидев curSales – что это переменная типа Currency. При выборе запроса из выпадающего списка вы будете знать, что запрос, начинающийся с qmak, является запросом для создания таблицы, а запрос, начинающийся с quni – запросом объединения. Эта информация поможет вам избежать ошибок, таких как применение метода SetFocus (метод элемента управления) к полю или попытка открыть таблицу.

Недостатки

Поскольку соглашение об именовании Leszynski является частным случаем венгерской нотации, к соглашению Leszynski применимы те же общие недостатки. Изменения в структуре базы данных могут потребовать массового переименования объектов. Например, замена таблицы запросом потребует либо сохранения префикса "tbl" для запроса, либо последовательной замены префикса "tbl" на имя запроса во всей базе данных. При переносе базы данных в другую СУБД могут возникнуть проблемы, если целевая СУБД не поддерживает имена в стиле CamelCase. Поскольку все объекты одного типа начинаются с одной и той же буквы, невозможно осуществлять навигацию по объектам в раскрывающемся списке, вводя начальную букву.

Элементы

Элементы соглашения об именовании описаны в следующей таблице. КомпонентОписаниеПримерПрефикс(ы)Строчная буква, добавляющая дополнительную информацию к тегу, например, 'p' для публичной переменной.ТегПоследовательность из трех букв, указывающая тип объекта, например, 'tbl' для таблицы.Базовое имяСлово или два, описывающие объект. Если используется несколько слов, каждое начинается с заглавной буквы и слова пишутся слитно, без пробелов.OutlookКонтакты – контакты, импортированные из OutlookСуффикс (RVBA), Квалификатор (LNC)Слово, дающее более конкретную информацию об объекте.ByDate – данные отсортированы по дате.

Основные префиксы объектов LNC

Неполные объекты ObjectTagIncomplete, резервные объекты или объекты, находящиеся в разработке, или – (В некоторых версиях Access, дефисы сортируются в начале списка объектов базы данных.) Скрытые системные объектыzhОтображаемые системные объектыzsПрограммно созданные временные объектыztРезервные копии объектов для последующего копирования или повторного использованияzz