1С:Предприятие 8.2 /
Разработчикам /
Соглашения при написании кода
Перенос выражений
1. При длине строки более 120 символов следует использовать переносы. Строки длиннее 120 символов делать не рекомендуется, за исключением тех случаев, когда перенос невозможен.
2. Длинные арифметические выражения переносятся следующим образом:
- в одной строке может находиться более одного операнда;
- при переносе знаки операции пишутся в начале строки (а не в конце предыдущей строки);
- операнды на новой строке предваряются стандартным отступом, либо выравниваются по началу первого операнда без учета знаков операций;
- параметры на новой строке предваряются стандартным отступом, либо выравниваются по началу первого параметра.
Пример:
ИтоговыйПоказатель = ИтоговыйПоказатель + НСтр("ru = ', НП (в т. ч.):'") + " " + ФорматСумм(Спецификация.Итог("СуммаНП"));
или
ИтоговыйПоказатель = ИтоговыйПоказатель + НСтр("ru = ', НП (в т. ч.):'") + " " + ФорматСумм(Спецификация.Итог("СуммаНП"));
3. Длинные строковые константы рекомендуется переносить с помощью специального символа перевода на новую строку, например:
Запрос = Новый Запрос( "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ЗаметкиПоПредмету.КоличествоЗаметок КАК КоличествоЗаметок |ИЗ | РегистрСведений.ЗаметкиПоПредмету КАК ЗаметкиПоПредмету |ГДЕ | ЗаметкиПоПредмету.Предмет = &Предмет");
или
ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Обновление адресного классификатора не требуется . | В программе уже загружены актуальные адресные сведения от %1.'"), Формат(ДатаПоследнегоОбновленияКЛАДР, "ДЛФ=D")); Предупреждение(ТекстПредупреждения);
При этом не следует переносить строки, содержащие текст сообщения пользователю (объект СообщениеПользователю).
4. При необходимости параметры процедур, функций и методов следует переносить следующим образом:
- параметры выравниваются по началу первого параметра, либо предваряются стандартным отступом;
- закрывающая скобка и разделитель операторов ";" пишутся в той же строке, что и последний параметр;
- также допустим и способ форматирования, который предлагает функция автоформатирования в конфигураторе (см. п. 5).
Пример:
ИменаДокументов = Новый СписокЗначений; ИменаДокументов.Добавить(Метаданные.Документы.СтрокаВыпискиРасход.Имя, Метаданные.Документы.СтрокаВыпискиРасход.Синоним); ИменаДокументов.Добавить(Метаданные.Документы.РасходныйКассовыйОрдер.Имя, Метаданные.Документы.РасходныйКассовыйОрдер.Синоним);
или
ИменаДокументов = Новый СписокЗначений; ИменаДокументов.Добавить(Метаданные.Документы.СтрокаВыпискиРасход.Имя, Метаданные.Документы.СтрокаВыпискиРасход.Синоним); ИменаДокументов.Добавить(Метаданные.Документы.РасходныйКассовыйОрдер.Имя, Метаданные.Документы.РасходныйКассовыйОрдер.Синоним);
5. Сложные логические условия в Если…ИначеЕсли…КонецЕсли следует переносить следующим образом:
- каждое элементарное условие нужно начинать с новой строки, если длина строки превышает ограничение в 120 символов;
- логические операторы И, ИЛИ ставятся в начале строки, а не в конце предыдущей строки;
- все условия предваряются стандартным отступом, либо выравниваются по началу первого условия, без учета логического оператора (для выравнивания выражений относительно первой строки рекомендуется использовать пробелы.);
- ключевое слово Тогда пишется на той же строке, что и последнее условие.
Примеры:
Если (ВидОперации = Перечисления.ВидыОперацийПоступлениеМПЗ.ПоступлениеРозница) ИЛИ (ВидОперации = Перечисления.ВидыОперацийПоступлениеМПЗ.ПоступлениеРозницаКомиссия) Тогда Возврат Истина; КонецЕсли;
Если ((СтруктураМодуля[Индекс].Блок = Перечисления.ТипыБлоковМодулей.ЗаголовокПроцедуры) ИЛИ(СтруктураМодуля[Индекс].Блок = Перечисления.ТипыБлоковМодулей.ЗаголовокФункции)) И(Найти(ВРЕГ(СтруктураМодуля[Индекс].Текст), КлючБлока)> 0) Тогда
6. Для выполнения перечисленных выше рекомендаций , кроме автоматического форматирования текста программного модуля, в процессе ввода можно также отформатировать уже введенный текст. Для этого необходимо выделить блок текста, который требуется отформатировать, и выбрать пункт меню Текст — Блок — Форматировать. При этом текстовый редактор проанализирует текст модуля и выполнит его форматирование, при котором содержимое каждой синтаксической конструкции будет сдвинуто вправо на величину табуляции независимо от первоначального расположения строк (лидирующих пробелов). В пустые строки устанавливаются знаки табуляции в соответствии с синтаксической конструкцией.
Другие материалы по теме:
регистрсведений.заметкипопредмету, спецификация, в конфигураторе, условие, пример:, иначе, предмет, условия, строки, буфер обмена, копировать, обмен, добавить, выбрать, конфигурирование, параметры, пример, документы, данные, документов
Материалы из раздела: 1С:Предприятие 8.2 / Разработчикам / Соглашения при написании кода
Другие материалы по теме:
Использование транзакций при чтении данных
Использование параметра Условие при обращении к виртуальной таблице
Нас находят: арифтика перенос новую строку, синоним условие, сообщениепользователю перенести текст, перенос арифметических знаков, можно ли переносить арифметические знаки, как переносить арифметические знаки на строчку
Мы на Facebook