Skip to main content

Оформление

Общие сведения

Модули

Все модули (общие, формы, объекта, менеджера, команд) должны соответствовать стандартам:

Строки

  1. При длине строки более 140 символов следует использовать переносы. Строки длиннее 140 символов делать не рекомендуется, за исключением тех случаев, когда перенос невозможен (например, в коде определена длинная строковая константа, которая выводится без переносов в окно сообщений с помощью объекта СообщениеПользователю).

  2. Конкатенация строк может быть заменена на СтрСоединить или СтрШаблон

    Вместо:

    Процедура ВыводОшибки(НомерСтроки, ТипДанных)
    Результат = "Ошибка в данных в строке " + НомерСтроки + " (требуется тип " + ТипДанных + ")";
    КонецПроцедуры

    Использовать:

    Процедура ВыводОшибки(НомерСтроки, ТипДанных)
    Результат = СтрШаблон("Ошибка в данных в строке %1 (требуется тип %2)", НомерСтроки, ТипДанных);
    КонецПроцедуры

Имена методов и их описание

  1. Стандарт 1С "Описание процедур и функций"

  2. Стандарт 1C "Правила образования имен переменных"

    Важно: Не использовать сокращения переменных подобных примеру:

    масРеквизитов, соотвВидИмя, новСтр

  3. Имена процедур и функций

  4. Все методы программного интерфейса должны иметь описание.

Это единственный "контракт" между разработчиками касающихся типизации. Для быстрого создания описания есть специальная возможность в конфигураторе:

images

  1. Имя функции не должно начинаться с "Получить"

  2. Правильный выбор имен процедур и функций очень важен для повышения читаемости кода

Запросы

  1. Оформление текстов запросов

  2. Нужно стараться, чтобы каждая часть формируемого запроса могла быть открыта с помощью конструктора запросов

Метаданные

  1. Имя, синоним, комментарий

  2. Имена объектов метаданных в конфигурациях

Читаемость кода

Избыточный верхний уровень условия Если...Тогда...Иначе

Для улучшения читаемости сделать условие в начале метода с выходом из метода с помощью Возврат.

Необязательный комментарий

Оставляйте комментарий который имеет смысл и может помочь другим разработчикам.

Присутствует «мертвый» код, пустой обработчик

Не должно быть закомментированного кода и пустых обработчиков.

Проверка заполненности/пустоты коллекции

Для повышения читаемости проверку коллекции на заполненность/пустоту лучше выполнять через специальную функцию ЗначениеЗаполнено вместо использования сравнения количества коллекцию с нулем. Правило

Разделение на логические сегменты

Пустые строки помогают разбивать код приложения на логические сегменты. Одной пустой строкой отделяются друг от друга методы и логические секции внутри метода для более удобного чтения.

Разделить выполнение и выборку/выгрузку результата запроса

Следует корректно отделять выполнение запроса от выборки или выгрузки его результата.

  • Используйте выполнить для выполнения операций, которые не требуют немедленного получения результата, проверка на пустой результат запроса,возвращение нескольких пакетов, а также когда нужно выполнить какие-либо действия с результатом, например создать или уничтожить временную таблицу.

  • Используйте выборку для больших наборов данных или когда нужна последовательная обработка

  • Используйте выгрузку, когда нужно манипулировать данными как единым целым или когда объем данных небольшой

Правильный выбор между выборкой и выгрузкой может значительно повлиять на производительность вашего решения.

Тексты запросов выносите в отдельные функции

Длинные запросы, больше обычной выборки с условием, стоит выносить в отдельную функцию. Код становится компактней, а для отладки текста запроса код модуля не нужен.

Непечатные символы

Обязательно включить отображение непечатных символов. ИТС: Отобразить непечатаемые символы

image.png

Для удобства рекомендуется использовать символ табуляции

Рекомендуется снять флаг Разрешить помещать курсов после конца, чтобы не создать случайно множество лишних символов пробела.

Выравнивание по символам делается с помощью пробелов. Нельзя использовать Tab после первого значимого символа. В разных средах будет разъезжаться отображение.

Для облегчения рутины можно использовать инструмент для выравнивания ones-formatting.

Статья: Отступ с помощью табуляции, выравнивание по пробелам.