Структурированное описание функций с визуальными маркерами. Контракт твоей функции с миром — ИИ-ассистенты и разработчики читают его, чтобы понять, как использовать твой код.
Визуальные символы для быстрого чтения документации
Каждый публичный метод должен иметь XML-документацию с тремя маркерами. Они появляются в подсказках IDE и помогают мгновенно понять назначение функции.
| Маркер | Тег | Назначение | Обязательно |
|---|---|---|---|
| ✦ | <summary> |
Описание функции | ✓ Да |
| ➤ | <param> |
Описание параметра | ✓ Если есть |
| ⬅ | <returns> |
Возвращаемое значение | ✓ Если функция |
Первая строка — самая важная. Одно предложение, начинается с глагола, заканчивается точкой и маркером ✦
Каждый параметр на отдельной строке с указанием типа и описания.
Формат: ➤ Имя - Тип: Описание.
Что функция возвращает. Для процедур этот раздел не нужен. Можно указать несколько вариантов возврата.
Базовая структура XML-документации
Обязательно: Все функции/процедуры с ключевым словом Экспорт.
Рекомендуется: Сложные внутренние функции, которые могут вызвать вопросы.
Секции идут строго в определённом порядке для единообразия:
Первая строка — самая важная
• Одно предложение — максимум 80 символов
• Начинается с глагола — Создаёт, Возвращает, Фильтрует
• Заканчивается точкой и ✦
• Без технических деталей — только суть
• На русском языке
Создание: Создаёт, Формирует, Генерирует
Получение: Возвращает, Получает, Извлекает
Преобразование: Преобразует, Конвертирует, Переводит
Действие: Фильтрует, Сортирует, Удаляет
Идеально: 40-60 символов
Максимум: 80 символов
Если не помещается — упрощай формулировку, не переноси на вторую строку.
Каждый параметр — на отдельной строке
Строгий формат для единообразия:
Отступ: 2 пробела перед ➤
Разделитель: " - " (пробел-дефис-пробел)
Тип: После имени, до двоеточия
| Тип | Описание |
|---|---|
Строка | Строковое значение |
Число | Целое или дробное |
Булево | Истина/Ложь |
Дата | Дата и время |
Массив | Массив значений |
Структура | Структура с ключами |
ТаблицаЗначений | Таблица значений |
Произвольный | Любой тип |
Необязательные параметры — добавь строку с отступом:
Несколько типов — перечисли через запятую:
Что функция отдаёт наружу
Один тип — одна строка:
Когда функция может вернуть разные типы:
Если это Процедура (не Функция),
раздел "Возвращает" не нужен.
Для сложных возвращаемых значений описывай поля:
Покажи, как использовать функцию
• Реальный use-case — не абстрактные данные
• Рабочий код — можно скопировать и запустить
• Комментарий результата — что будет после выполнения
• Минимум кода — только суть, без лишнего
❌ Абстрактные переменные (a, b)
❌ Нерабочий код
❌ Отсутствие комментария результата
❌ Слишком длинный пример
❌ Пример не показывает основное применение
Для сложных функций можно добавить несколько примеров с разными сценариями использования.
Состояние сохраняется в браузере