Руководство по стилю кода от Гения 1С

Существуют руководства по хорошему стилю программирования, вот пример от Google. Стиль — это не столько приемы хорошего кода, сколько об красивом и понятном оформлении кода.

Ведь если код оформлен красиво, он легче воспринимается и быстрее понимается не только вами, но и другими программистами, которым придется с ним работать.

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

Выражения

  • После запятой ставится пробел, перед — не ставится.
  • После и перед точкой вызова метода/реквзита пробел не ставится
  • Арифметические операторы + — = > < и другие выделяются пробелами в обеих сторон

Вот пример типового кода 1С, где наглядно видны эти правила:

Некоторые программисты 77 не используют эти правила, потому что раньше были другие принципы, даже в типовом коде. Поэтому они так привыкли и их код «режет глаз». Я сам переучивался оформлять выражения под восьмерку.

Уровни, отступ

1С не жалеет разделителей строк, разделителями обрамляются с обеих сторон:

  • Начало и конец процедуры
  • Если, КонецЕсли
  • Цикл, КонецЦикла

Последовательности обычных операторов не разделяются разделителями. Но если строк много, лучше их разбивать, объединяя в блоки, общие по смыслу.

Вот пример, где эти принципы видны:

Многострочные литералы

Переносите кавычку начала запроса на новую строку, так текст запроса будет прижат влево и будет смотреться компактнее:

Обычно новички делают так и это сразу выдает неопытного программиста, потому что в таких случаях может даже понадобиться прокручивать текст запроса, чтобы его посмотреть целиком:

Аналогично нужно оформлять и другие многострочные литералы — прижимать их влево.

Имена переменных

Для счетчиков обычно используются следующие имена.

  • Сч, Инд — для счетчика цикла.
  • Стр, Кол — для счетчика строк, колонок

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

  • ТЗ — для таблицы значений
  • ТД, ТабДок — для табличного документа
  • С — для списка, строки, структуры
  • М — для массива
  • Запрос, З — для запроса
  • НЗ, Движения — для набора записей
  • МЗ, Движение — для менеджера записей
  • ПЗ — для построителя запроса

Если в рамках кода есть несколько однотипных объектов, их можно назвать: А, Б, В.. или ТЗ1, ТЗ2

Для локальных переменных лучше использовать префикс Тек, чтобы они не пересекались с реквизитами объекта, например: ТекКонтрагент, ТекСчет.

Для реквизитов обработки лучше использовать префикс Выб, чтобы они не пересекались с осмысленно названными переменными текущего контекста, например ВыбИмяФайла, ВыбКонтрагент.

Избегайте длинных наименований реквизитов, они сложно воспринимаются, особенно если используются несколько и рядом. Пример плохого имени: ПодготовщикМакетаВариантаСтруктурыСистемыКомпоновкиДанных.

Помните, что человеческое внимание может работать только с 5-7 объектами одновременно, поэтому избегайте большого скопления переменных в одном месте.

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

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *