Руководство по стилю кода от Гения 1С
Существуют руководства по хорошему стилю программирования, вот пример от Google. Стиль — это не столько приемы хорошего кода, сколько об красивом и понятном оформлении кода.
Ведь если код оформлен красиво, он легче воспринимается и быстрее понимается не только вами, но и другими программистами, которым придется с ним работать.
В оформлении стиля нужно ориентироваться на типовой код. Не потому, что там правильно и идеально, а потому, что большинство программистов работают с типовым кодом и отличия в стиле от стиля типовых будет «бить по глазам». Рекомендации от самой 1С можно в открытом доступе почитать на ИТС.
Выражения
- После запятой ставится пробел, перед — не ставится.
- После и перед точкой вызова метода/реквзита пробел не ставится
- Арифметические операторы + — = > < и другие выделяются пробелами в обеих сторон
Вот пример типового кода 1С, где наглядно видны эти правила:
Некоторые программисты 77 не используют эти правила, потому что раньше были другие принципы, даже в типовом коде. Поэтому они так привыкли и их код «режет глаз». Я сам переучивался оформлять выражения под восьмерку.
Уровни, отступ
1С не жалеет разделителей строк, разделителями обрамляются с обеих сторон:
- Начало и конец процедуры
- Если, КонецЕсли
- Цикл, КонецЦикла
Последовательности обычных операторов не разделяются разделителями. Но если строк много, лучше их разбивать, объединяя в блоки, общие по смыслу.
Вот пример, где эти принципы видны:
Многострочные литералы
Переносите кавычку начала запроса на новую строку, так текст запроса будет прижат влево и будет смотреться компактнее:
Обычно новички делают так и это сразу выдает неопытного программиста, потому что в таких случаях может даже понадобиться прокручивать текст запроса, чтобы его посмотреть целиком:
Аналогично нужно оформлять и другие многострочные литералы — прижимать их влево.
Имена переменных
Для счетчиков обычно используются следующие имена.
- Сч, Инд — для счетчика цикла.
- Стр, Кол — для счетчика строк, колонок
Если в рамках процедуры используется только один объект, то можно использовать сокращения:
- ТЗ — для таблицы значений
- ТД, ТабДок — для табличного документа
- С — для списка, строки, структуры
- М — для массива
- Запрос, З — для запроса
- НЗ, Движения — для набора записей
- МЗ, Движение — для менеджера записей
- ПЗ — для построителя запроса
Если в рамках кода есть несколько однотипных объектов, их можно назвать: А, Б, В.. или ТЗ1, ТЗ2…
Для локальных переменных лучше использовать префикс Тек, чтобы они не пересекались с реквизитами объекта, например: ТекКонтрагент, ТекСчет.
Для реквизитов обработки лучше использовать префикс Выб, чтобы они не пересекались с осмысленно названными переменными текущего контекста, например ВыбИмяФайла, ВыбКонтрагент.
Избегайте длинных наименований реквизитов, они сложно воспринимаются, особенно если используются несколько и рядом. Пример плохого имени: ПодготовщикМакетаВариантаСтруктурыСистемыКомпоновкиДанных.
Помните, что человеческое внимание может работать только с 5-7 объектами одновременно, поэтому избегайте большого скопления переменных в одном месте.
Если даете переменным осмысленные имена, то не сокращайте их название. Если сокращаете, то так, чтобы был понятен принцип их сокращения. Хотя бы в комментариях пишите, почему дали такое сокращение, но лучше не сокращать, потому что не все могут понять и запомнить вашу систему сокращений.
Свежие комментарии