Как правильно и красиво оформлять программный код в 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Вопрос «красоты» программного кода в среде 1С часто вызывает споры: кто-то считает это излишним перфекционизмом, а кто-то — фундаментом профессиональной разработки. Однако, когда проект разрастается, а в команде появляется более одного человека, единый стандарт становится производственной необходимостью. Разберем подробно, на какие правила стоит опираться и какими инструментами пользоваться, чтобы ваш код был не только рабочим, но и эстетичным, а также понятным для коллег.

Официальная система стандартов 1С

Прежде всего, выясним, существуют ли официальные правила. Да, компания «1С» разработала и постоянно дополняет документ, известный как «Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8». Этот документ является обязательным для разработчиков тиражных решений и крайне рекомендован для всех остальных.

Найти эти стандарты можно на портале ИТС в разделе «Разработка и администрирование». Основные разделы, которые нам интересны, касаются соглашений при написании кода. Проанализируем ключевые принципы, изложенные в этих стандартах:

  1. Самодокументированность имен. Имена переменных, функций и процедур должны четко описывать их суть. Забудьте о названиях вроде ТекСтр или ВыбТов. Правильно писать: ТекущаяСтрока, ВыбранныйТовар.
  2. Отказ от неоправданных сокращений. Допускаются только общепринятые сокращения (например, ИНН, МФО, ФизЛицо). Все остальные слова пишутся полностью.
  3. Структура модуля. Стандарт требует строгого порядка расположения элементов: сначала идут переменные модуля, затем процедуры и функции программного интерфейса, и в самом конце — служебные процедуры и функции.

Искусство именования: баланс декларативности и лаконичности

Рассмотрим подробнее одну из самых сложных задач в программировании — придумывание названий. Проанализируем ситуацию: процедура должна рассчитать скидку для покупателя. Можно назвать её Расчет(), но это ни о чем не говорит. Можно назвать РассчитатьИтоговуюСкидкуДляТекущегоДокументаСУчетомВсехАкций() — это слишком громоздко.

Золотое правило: название должно отвечать на вопрос «что делает этот блок кода?».

Посмотрим на пример хорошего именования:


Процедура РассчитатьСкидкуНастроки(ТекущаяСтрока, ПараметрыРасчета)
    // Логика расчета
КонецПроцедуры

Здесь соблюден баланс: мы понимаем, что происходит расчет скидки для конкретной строки, используя определенные параметры.

Инструменты автоматизации и современные линтеры

Сегодня «красивый код» — это не только то, что вы пишете руками, но и то, как вы проверяете написанное. Проанализируем современные инструменты, которые помогают поддерживать чистоту кода автоматически:

Использование горячих клавиш для быстрого форматирования

Если вы всё еще работаете в классическом Конфигураторе, это не значит, что код должен быть неопрятным. Разберем по шагам, как быстро привести текст в порядок с помощью горячих клавиш:

  1. Выравнивание блоков (Tab / Shift+Tab): Выделите блок кода и используйте Tab для сдвига вправо или Shift+Tab для сдвига влево. Это позволяет соблюдать иерархию вложенности условий и циклов.
  2. Комментирование (Ctrl + /): Быстро закомментировать выделенные строки или снять комментарий. Аккуратно закомментированный неиспользуемый код (если он действительно нужен временно) выглядит гораздо лучше, чем хаотичные символы //.
  3. Автоматическое форматирование: В меню «Текст» Конфигуратора есть пункт «Блок - Форматировать». Это выровняет отступы согласно синтаксическим конструкциям.

Принципы Clean Code (Чистый код) в 1С

Профессиональные разработчики всё чаще внедряют мировые практики, такие как принципы Роберта Мартина, в мир 1С. Рассмотрим основные из них:

Правило бойскаута. Всегда оставляйте код после себя чуть чище, чем он был до вашего вмешательства. Увидели опечатку в комментарии или лишнюю пустую строку — исправьте её, даже если вы пришли чинить другую ошибку.

Принцип единственной ответственности. Каждая процедура должна выполнять только одну задачу. Если ваша процедура ПриЗаписи() занимает 1000 строк и делает всё — от проверки прав до печати чека — её необходимо разбить на мелкие специализированные функции.

Отказ от «магических чисел». Выясним причину, почему код ниже считается плохим:


Если Статус = 2 Тогда
    // Что такое 2? Непонятно.
КонецЕсли;

Вместо этого используйте перечисления или предопределенные элементы, чтобы код читался как книга:


Если Статус = Перечисления.СтатусыЗаказов.Согласован Тогда
    // Теперь код понятен без комментариев
КонецЕсли;

Оформление запросов

Запросы в 1С часто составляют значительную часть кода. Чтобы они оставались читаемыми, рекомендуется придерживаться следующих правил:

Посмотрим на пример правильно оформленного запроса внутри кода:


Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|   Номенклатура.Ссылка КАК Товар,
|   Номенклатура.Код КАК Код
|ИЗ
|   Справочник.Номенклатура КАК Номенклатура
|ГДЕ
|   Номенклатура.Услуга = &Ложь";

Подводя итог, можно сказать, что «красивый код» — это не вопрос вкуса, а вопрос профессионализма и уважения к коллегам. Следуя официальным стандартам 1С и используя современные инструменты анализа, мы создаем системы, которые легко сопровождать и развивать годами.

← На главную