--- name: code-standards description: Universal code standards for any language. Use when writing, refactoring, or reviewing code. Also when user says "стандарты кода", "code review", "правила разработки". --- # Code Standards ## 1. Код как рассказ - **KISS:** Пиши лаконично, без переусложнений. Код читается как последовательный рассказ - **Функциональный стиль:** Классы — только когда нужно состояние или интерфейс библиотеки. В остальном — функции - **Приватность:** Внутреннюю логику модуля скрывай. Префикс `_` в Python/JS, `private` в TS/Rust, internal методы по умолчанию - **Разделение ответственности:** Бизнес-логика ≠ транспорт ≠ представление. Максимум 200-300 строк на файл. Одна ответственность на файл ## 2. Прагматизм - **YAGNI:** Только то что нужно сейчас. Никаких заделов «на будущее», оверинжиниринга и самодеятельности - **Правило 80/20:** Если задача ведёт к неоправданному усложнению — предупреди и предложи альтернативу до написания кода ## 3. Принципы модульности - Функция/метод — не длиннее 30-50 строк. Если больше — разбивай на мелкие тестируемые функции - Файл — до 200-300 строк. Больше → декомпозиция - Конфиги/константы — в отдельный файл, не в логику - Приватные функции/методы для внутренних деталей (с префиксом `_` или аналогом языка) ## 4. Документирование - AGENTS.md правило «No comments unless requested» — это **default**: код без комментариев - Этот skill описывает **исключение**: Google-style docstrings на английском для публичных API — когда контракт warrants (библиотечный API, public surface) - Описывай **зачем**, а не **что** — код и так говорит что делает