Вопрос использования префиксов в именах объектов метаданных и переменных является одним из самых обсуждаемых среди разработчиков на платформе 1С:Предприятие 8. Особенно остро этот вопрос встает при создании новой конфигурации «с нуля» с использованием Библиотеки стандартных подсистем (БСП). С одной стороны, существуют официальные стандарты 1С, с другой — суровая практика сопровождения и требования к тиражным решениям. В рамках данной статьи мы подробно разберем все «за» и «против», проанализируем различные сценарии разработки и выработаем рекомендации, которые помогут вам принять верное архитектурное решение.
Рассмотрим ситуацию: вы создаете объект Справочник.Пользователи или Справочник.Склады. Если ваша конфигурация использует БСП, то в ней уже есть стандартный справочник пользователей. Чтобы отличить «свое» от «чужого», разработчики часто прибегают к добавлению уникальной последовательности символов в начало имени объекта, например, миста_Склады. Проанализируем основные причины, по которым это делается:
Выясним, что говорят официальные рекомендации. Согласно стандартам 1С, при разработке новой конфигурации префиксы использовать не рекомендуется. Основным инструментом логического разделения должны выступать подсистемы. Мы можем создать свою корневую подсистему (например, ПроектРазработка) и включить в нее все созданные нами объекты. Это позволяет делать отборы в дереве конфигурации и визуально отделять стандартные подсистемы БСП от проектных.
Однако важно понимать разницу между «чистой разработкой» и разработкой «на базе» чего-то. Если мы дорабатываем типовое решение (например, Бухгалтерию предприятия), использование префиксов становится практически обязательным правилом хорошего тона. Это гарантирует, что при обновлении от поставщика ваши изменения не будут затерты.
Разберем ситуации, в которых отказ от префиксов может стать фатальной ошибкой для проекта:
Посмотрим на примеры использования префиксов в именах переменных. Существует так называемая «венгерская нотация», когда в начало имени добавляется тип объекта (например, тзРезультат для ТаблицыЗначений или мсПараметры для Массива).
Проанализируем пример некорректного (согласно стандартам 1С) именования:
Процедура РассчитатьСумму(тзДанные)
Перем сзСписок;
сзСписок = Новый СписокЗначений;
// ... логика
КонецПроцедуры
Рассмотрим, почему это считается плохим стилем:
Массив на СписокЗначений, вам придется переименовывать переменную по всему коду, иначе префикс будет вводить в заблуждение.Как правильно называть переменные:
Имена должны отражать суть хранимых данных, а не их технический тип. Вместо тзСотрудники лучше использовать ТаблицаСотрудников или просто Сотрудники.
Если вам все же приходится вносить изменения в стандартные модули БСП, важно делать это аккуратно. Разберем общепринятую практику комментирования:
// -> ФИО_Разработчика 25.05.2024
// Здесь мы переопределяем стандартное поведение БСП
Если МоеУсловие Тогда
Результат = МояФункцияВычисления();
Иначе
// <- ФИО_Разработчика 25.05.2024
Результат = СтандартноеЗначение; // Типовой код
// -> ФИО_Разработчика 25.05.2024
КонецЕсли;
// <- ФИО_Разработчика 25.05.2024
Такой подход позволяет следующему разработчику (или вам через год) быстро найти все кастомные вставки и понять, почему типовой алгоритм ведет себя иначе.
Выясним, как найти золотую середину между строгим следованием стандартам и практическим удобством:
пр_РаботаСКлиентами. Это исключит путаницу с глобальным контекстом БСП.Пользователи), обязательно используйте префикс. Это критично для беспроблемного обновления конфигурации поставщика.Мы проанализировали ситуацию с префиксами и пришли к выводу, что это не просто «вкусовщина», а инструмент управления рисками. Использование префиксов — это страховка от конфликтов имен, упрощение процесса обновлений и залог успешной интеграции в будущем. При этом важно не впадать в фанатизм и не загромождать программный код избыточными сокращениями там, где достаточно качественного именования переменных и использования комментариев.