К основному содержанию
A1sCode
Быстрый старт
Стандарты A1sCode · Машиночитаемая документация

XML-док

Единый XML-подобный контракт для параметров, результата, сложности и примеров функции.

единый контракт2 примера кодаBSL / 1С

Пример

Примернаведите на цветной токен, чтобы увидеть его рольSTANDARD
// <doc>
 //   <summary>Форматированный вывод: {P1},{P2} или {Имя}.</summary>   ✦
 //   <param i="1" name="Template" type="String">Шаблон</param>   ➤
 //   <param i="2" name="Params"   type="Array|Structure">Массив/Структура значений</param>   ➤
 //   <returns>String — итоговая строка</returns>   ⬅
 //   <complexity cc="3"/>
 //   <example>
 //     // A1sS.FormatPlaceholders("Hi {P1}", Новый Массив("Ann"));
 //     // A1sS.FormatPlaceholders("Привет, {Имя}", Новый Структура("Имя", "Боб"));
 //   </example>
 // </doc>

Зачем XML-док вместо «типового» блока 1С

  • Машиночитаемо. Теги <param/returns/locals/complexity/example> легко парсятся линтером/генераторами.
  • Синхронизация с кодом. Числовой индекс i="1..n", имя и тип параметра уменьшают риск «скопипастили и забыли поменять».
  • Единый стиль RU/EN. Полезно для автогенерации документации и подсказок в IDE/чат-ассистентах.
  • Сложность. <complexity cc="k"/> позволяет хранить фактическую цикломатику рядом с функцией.
  • Примеры. Короткий пример в <example>, длинные сценарии — в отдельном регионе #Region examples_*.

Сравнение

Сравнениенаведите на цветной токен, чтобы увидеть его рольSTANDARD
// Типовой «вольный» блок 1С:
// Функция: Форматирование строки
// Параметры: Template (Строка), Params (Массив/Структура)
// Возврат: Строка

// A1sCode XML-док (структурировано):
// <doc>
//   <summary>Форматированный вывод: {P1},{P2} или {Имя}.</summary>   ✦
//   <param i="1" name="Template" type="String">Шаблон</param>   ➤
//   <param i="2" name="Params"   type="Array|Structure">Массив/Структура</param>   ➤
//   <returns>String — итоговая строка</returns>   ⬅
//   <complexity cc="3"/>
// </doc>

Итог: типовой блок удобен глазами, но непредсказуем для машин; XML-док A1sCode одинаково хорошо читает и человек, и инструмент.

Правила

  • Каждая строка начинается с // , внутренний отступ — 2 пробела.
  • Маркеры: ✦ — только у <summary>; ➤ — у <param>; ⬅ — у <returns>.
  • Маркеры в конце строки через 3 пробела. Для <doc>/</doc> — без маркера.