Параметры процедур, функций, методов переносятся следующим образом: 
 - каждый параметр начинается с новой строки; 
 - все параметры выравниваются по началу первого параметра; 
 - закрывающая скобка и разделитель операторов ";" пишутся в той же строке, что и последний параметр.
Пример
| СписокВидов = Новый СписокЗначений; СписокВидов.Добавить(Метаданные.Документы.СтрокаВыпискиРасход.Имя, Метаданные.Документы.СтрокаВыпискиРасход.Синоним); СписокВидов.Добавить(Метаданные.Документы.РасходныйКассовыйОрдер.Имя, Метаданные.Документы.РасходныйКассовыйОрдер.Синоним); | 
Перенос условий в Если…КонецЕсли
Сложные логические условия в Если…КонецЕсли, состоящие из большого числа выражений (но это само по себе - плохо) переносятся следующим образом: 
 - каждое условие пишется на отдельной строке: 
 - логические операторы И, ИЛИ ставятся ПЕРЕД условием; 
 - все условия выравниваются по началу первого условия, без учета логического оператора; 
 - Тогда пишется на той же строке, что и последнее условие.
Пример
| Если (ВидОперации = Перечисления.ВидыОперацийПоступлениеМПЗ.ПоступлениеРозница) ИЛИ (ВидОперации = Перечисления.ВидыОперацийПоступлениеМПЗ.ПоступлениеРозницаКомиссия) Тогда Возврат Истина; КонецЕсли; | 
Перенос выражений
Длинные арифметические выражения переносятся следующим образом: 
 - в одной строке может находиться более одного операнда; 
 - знаки операции пишутся ПЕРЕД операндом (а не в конце предыдущего операнда); 
 - операнды выравниваются по началу первого операнда, без учета знаков операций.
Пример
| ВременнаяСтрока = ВременнаяСтрока + ", НП (в т. ч.): " + обФорматСумм(Спецификация.Итог("СуммаНП")); | 
Оформление конструкций встроенного языка. Общие требования
Следует отделять друг от друг пробелами: 
 - ключевые слова; 
 - вызовы процедур и функций 
 - параметры процедур и функций внутри скобок; 
 - операторы; 
 - имена переменных; 
 - константы; 
 - знак "=", знаки арифметических операций "+", "-", "*"», "/"».
Между указанными элементами должен быть один пробел, за исключением случаем, оговоренных ниже. 
 Не ставится пробел после открывающей скобки и перед закрывающей.
 Выравнивание операторов присваивания
 При следовании друг за другом нескольких "однотипных" операторов присваивания, допускается выравнивать их следующим образом:
 
 
 
 
 
 
 
 
  |  
Заголовки процедур и функций (кроме обработчиков)
Процедуры и функции (кроме обработчиков) должны предваряться заголовком. 
 Заголовок размещается перед объявлением процедуры (функции)и поясняет назначение и использование функции (процедуры).
Заголовок имеет следующий формат:
| // Первый абзац описания процедуры (функции) // продолжение первого абзаца описания процедуры (функции) // продолжение первого абзаца описания процедуры (функции). // // Второй и последующие абзацы описания процедуры (функции) // продолжение второго и последующих абзацев описания процедуры (функции) // продолжение второго и последующих абзацев описания процедуры (функции). // // Параметры: // ПараметрОдин – Тип.Вид – описание параметра. // продолжение описания параметра. // ПараметрДва – Тип.Вид – описание параметра. // продолжение описания параметра. // // Возвращаемое значение: // Нет. | 
 или
| // Тип.Вид – описание возвращаемого значения // продолжение описания возвращаемого значения. | 
 или
| // Значение1 – описание случая 1 // продолжение описания случая 1. // Значение2 – описание случая 2 // продолжение описания случая 2. // <Функция (Процедура)> ИмяПроцедурыФункции(ПараметрОдин, Знач ПараметрДва, ПараметрТри=0,…) <пустая строка> Перем Переменная1; <пустая строка> Операторы; <пустая строка> КонецПроцедуры или КонецФункции // ИмяПроцедурыФункции() <пустая строка> | 
Секция «Описание» 
 Может присутствовать в заголовке функции (процедуры), если требуется дополнительное разъяснение назначения и принципов работы функции (процедуры), а комментариев, присутствующих в тексте функции (процедуры), недостаточно.
| // Первый абзац описания процедуры (функции) // продолжение первого абзаца описания процедуры (функции) // продолжение первого абзаца описания процедуры (функции). // // Второй и последующие абзацы описания процедуры (функции) // продолжение второго и последующих абзацев описания процедуры (функции) // продолжение второго и последующих абзацев описания процедуры (функции). | 
 Первый абзац описания всегда начинается через один пробел после символов комментария. Вторая и последующие строки первого абзаца также начинаются через 1 пробел. 
 Второй и последующие абзацы описания начинаются с красной строки: первая строка начинается через 2 пробела после символов комментария, вторая и последующие строки - через один пробел. 
 В конце абзаца всегда ставиться точка, даже если это один абзац и занимает одну строку.
Описание функции (процедуры) должно пояснять не только, ЧТО она делает, но и ЗАЧЕМ. 
 НЕ следует вставлять в описание рассказ про возвращаемое значение - для этого предназначена секция "Возвращаемое значение".
Описание функции (процедуры) составляется по правилам русского языка: каждое предложение начинается с большой буквы и заканчиваются точкой. Следует проверять текст на отсутствие синтаксических и грамматических ошибок. 
 Пример плохого описания функции
| // Эта функция проверяет спецификацию документа на дубли товара Функция ПроверкаДублейСтрок(Конт) Экспорт СписокТоваров=СоздатьОбъект("СписокЗначений"); … | 
 Пример хорошего описания функции
| // Функция проверяет многострочную часть документа на наличие строк, // содержащих одинаковый товар, с целью последующего объединения. Такие строки // должны быть «слиты» в одну. | 
Настоятельно рекомендуется в заголовках не превышать длину строки в 80 символов.
Секция "Параметры". 
 Обязательно должна присутствовать, если у процедуры или функции есть параметры. Если их нет, секция может быть пропущена.
| // // Параметры: // <Параметр1> - тип и описание параметра 1 // продолжение описания параметра 1 // <Параметр2> - тип и описание параметра 2 // продолжение описания параметра 2 и так далее. | 
Ключевое слово "Параметры" должно оканчиваться двоеточием. 
 В секции "Параметры" описание собственно параметров должно начинаться со следующей строки после названия секции. Каждый параметр описывается на отдельной строке, между "//" и именем параметра вставляются 2 пробела, описание заканчивается точкой.
Если описание параметра или параметров занимает несколько строк, начало описания параметра выравнивается по 20 позиции (не считая тире, то есть тире начинается с 18 позиции строки). 
 Если имя параметра короче - описание все равно выравнивается по 20 позиции. Если имя параметра длиннее - первая строка пишется с той позиции, где получится, остальные выравниваются по 20 позиции. Выравнивание выполняется пробелами. 
 Пример:
| // Параметры: // ПараметрСОченьДлиннымИменем - описание параметра с очень длинным именем, // которое может занимать одну и более строк, текст в этой // и последующих строках начинается с 20 позиции // КорИмя - имя этого параметра - короткое, поэтому выравнивать его // следует по 20 позиции. | 
Секция "Возвращаемое значение" 
 Обязательно должна присутствовать в заголовке функции. Для процедур эта секция может отсутствовать.
| // // Возвращаемое значение: // <Описание возвращаемого значения или слово "Нет">. | 
Описание возвращаемого значения должно начинаться со следующей строки после названия секции. Описание начинается с большой буквы, между символами "//" и красными строками абзацев описания вставляются 2 пробела. 
 В конце описания или после слова "Нет" ставится точка, как в конце предложения. 
 Если возвращаемых значений - несколько, описание каждого возвращаемого значения начинается с новой строки.
| // Возвращаемое значение: // Истина - найден реквизит с переданным именем; // Ложь - не найден реквизит с переданным именем. | 
 Расположение и выравнивание текста - как при описании параметров (см. выше).
Конец процедуры и функции 
 Если текст процедуры (функции) занимает более одного экрана, то в строке с операторами КонецПроцедуры, КонецФункции должен быть комментарий с именем процедуры (функции). 
 В конце процедуры (функции), после ключевого слова КонецПроцедуры (КонецФункции) после 1 пробела ставится символ комментария "//" и еще через пробел повторяется имя процедуры (функции), после имени процедуры (функции) ставятся пустые скобки.
| КонецПроцедуры // ИмяПроцедуры() или КонецФункции // ИмяФункции() | 
После оператора КонецПроцедуры, КонецФункции должна оставляться пустая строка.
| КонецПроцедуры // Сформировать() <пустая строка> | 
Для процедур и функций, которые: 
 - назначаются обработчикам событий элементов управления динамически из встроенного языка (с использованием объекта Действие) 
 - подключаются в качестве обработчиков ожидания 
 - используются в тексте кода встроенного языка, который выполняется при помощи оператора Выполнить() 
 необходимо в комментариях отражать где используется данная процедура(функкция).
Например: 
 // Процедура назначается динамически действию кнопки командной панели КоманднаяПанельформы.КнопкиДействий.Кнопка 
 или 
 // Функция подключается в качестве обработчика ожидания для автополучения электронных писем
Обработчики событий
Обработчики событий сводятся в одну секцию модуля. 
 Обработчики событий должны иметь секцию "Описание". Описание размещается в соответствии с общими требованиями к заголовкам процедур, перед объявлением процедуры обработчика. 
 Первый абзац описания обработчика события должен включать фразу:
| // Обработчик события <имя события> <вид реквизита/объекта> <имя реквизита/объекта>. | 
 Описание может пояснять выполняемые в обработчике действия. 
 Пример описания обработчика события
| // Обработчик события ПриВыводеСтроки табличной части Спецификация. // Формирует данные в колонке "Всего". // Процедура СпецификацияПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) <пустая строка> Перем Переменная1; <пустая строка> Операторы; <пустая строка> КонецПроцедуры // СпецификацияПриВыводеСтроки() | 
Комментарии в модулях
Тексты модулей должны содержать комментарии. 
 Комментарии могут быть: 
 - к модулю в целом - в этом случае они располагаются в начале модуля (заголовок модуля); 
 - к оператору (операторам).
Комментарии могут быть длинными и короткими.
Длинные комментарии. 
 Длинные комментарии занимают отдельную строку или несколько строк. Они должны располагаться ПЕРЕД комментируемым оператором или группой операторов. Длинные комментарии составляются по правилам русского языка, то есть должны начинаться с большой буквы и заканчиваться точкой. Следует проверять текст комментария на отсутствие грамматических и синтаксических ошибок. 
 Текст длинного комментария должен быть выровнен по левой границе комментируемого оператора (первого оператора группы операторов). 
 Межу символами комментария "//" и текстом комментария должен быть пробел. 
 При длине строки комментария более 80 символов можно начинать делать переносы. Строки не должны быть длиннее 120 символов. 
 Пример.
| // комментарий // комментарий оператор; // комментарий // комментарий оператор; оператор; оператор; | 
Перед первой строкой комментария должна быть пустая строка и после последнего комментируемого оператора должна быть пустая строка. Это может быть одна и та же строка. 
 Пример:
| <пустая строка> // комментарий // комментарий оператор; оператор; оператор; <пустая строка> // комментарий // комментарий оператор; оператор; … Короткие комментарии Короткие комментарии могут располагаться в той же строке, что и оператор. Короткий комментарий должен начинаться с маленькой буквы и не должен заканчиваться точкой. При длине строки более 80 символов можно начинать делать переносы. Строки не должны быть длиннее 120 символов. Пример: оператор; // комментарий | 
Как правило, короткий комментарий должен занимать одну строку. Если короткий комментарий занимает более одной строки, его можно переносить на следующую строку. Начало второй и последующих строк короткого комментария выравнивается по левой границе первой строки. Оператор, следующий за комментируемым оператором, в этом случае должен начинаться с первой свободной строки. 
 Пример:
| оператор1; // комментарий // продолжение комментария // продолжение комментария оператор2; // комментарий | 
Содержание и оформление комментариев. 
 Комментарии должны быть достаточно пространными, чтобы пояснять работу комментируемого оператора (операторов) или назначение объявляемой переменной. Текст комментария должен быть формальным, не содержать эмоций и слэнга. 
 Например: 
 вместо «статиков» следует использовать «надписи» или «информационные строки»; 
 вместо «контрол» следует использовать «элемент управления».
Комментарии составляются по правилам русского языка. 
 Как правило, из предложений состоят длинные комментарии. Предложения в комментариях начинаются с большой буквы и заканчиваются точкой. Знаки препинания расставляются по правилам русского языка. 
 Названия объектов конфигурации, реквизитов, элементов управления форм пишутся в кавычках. 
 Слово «счет-фактура» пишется через дефис, склоняются обе части слова: счету-фактуре, счетов-фактур, счетом-фактурой.
Названия процедур и функций в комментариях приводятся так, как они написаны в коде. 
 Неправильно:
| // Вызывается из "при открытии" этой формы и из "после записи" формы счета-фактуры. | 
 Правильно:
| // Вызывается из обработчика ПриОткрытии этой формы и из обработчика ПослеЗаписи формы счета-фактуры. | 
Дата: 2018-11-18, просмотров: 492.