framework/rules/semantic-code-comments/SKILL.md
В комментариях объяснять зачем, не пересказывать код
npx skillsauth add steelmorgan/1c-agent-based-dev-framework semantic-code-commentsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Хороший комментарий объясняет почему, а не что. Имена, структура и выражения уже показывают действие кода; комментарий нужен для бизнес-смысла, ограничений, компромиссов и скрытых инвариантов.
Код пишется один раз, а читается много раз. Если будущий читатель спросит «почему так?», «что сломается, если убрать?», «какое бизнес-правило здесь защищено?» — нужен семантический комментарий.
| Комментировать (почему) | НЕ комментировать (что) |
|-------------------------|-------------------------|
| Неочевидные бизнес-правила | Пересказ кода (// складываем A и B) |
| Защиту от внешних сбоев и краевых случаев | Очевидные операции (// увеличиваем счётчик) |
| Workaround и компромиссы | |
| Скрытые инварианты и порядок вызовов | |
| Причины отказа от очевидного решения | |
| Магические числа и константы | |
Комментарий, противоречащий коду, недопустим: устаревший комментарий хуже отсутствующего — создаёт ложную уверенность. Правя код, проверяй комментарии рядом.
Хорошо:
// Скидку применяем только после подтверждения лимита, потому что договор
// может запрещать ретроспективное изменение цены.
Если ЛимитПодтвержден И ДоговорРазрешаетИзменениеЦены Тогда
Плохо:
// Плохо: складываем A и B.
Сумма = A + B;
| Хорошо | Плохо | |--------|-------| | "Не используем X, потому что Y" | "Здесь X" | | "Защита от пустого ответа внешнего сервиса" | "Проверяем значение" | | "Если убрать, нарушится инвариант периода" | "Не трогать" | | "Сначала заполняем кэш, потому что следующий запрос читает его" | "Заполняем кэш" |
agent-code-marking показывает, кто и когда изменил код; semantic-code-comments объясняет, почему код устроен именно так. Маркеры дают аудит, комментарии — смысл.
depends_on:
development
1C server maintenance webhooks: container restart and external component cache cleanup
development
Interactive DAP debugging of a single BSL procedure
tools
Rules for using RLM tools for project search and navigation in 1C/BSL
development
Creates web applications and routes on Winow (a web server on OneScript and Autumn). Use when working with a web server on OneScript, routing, or Winow controllers.