27 lines
2.5 KiB
Markdown
27 lines
2.5 KiB
Markdown
---
|
||
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)
|
||
- Описывай **зачем**, а не **что** — код и так говорит что делает
|