* feat: migrate .opencode/ config from opencode * refactor: rename repo refs and sanitize for public * docs(handoff): add pr-7 handoff + ADR-002 * docs(handoff): fix PR number * docs: update project map with .opencode/ structure --------- Co-authored-by: opencode-agent <agent@slaid098.dev>
26 lines
2.3 KiB
Markdown
26 lines
2.3 KiB
Markdown
---
|
||
name: code-standards
|
||
description: Универсальные правила разработки для любого языка. Используй когда пишешь, рефакторишь или ревьювишь код.
|
||
---
|
||
|
||
# Code Standards
|
||
|
||
## 1. Код как рассказ
|
||
- **KISS:** Пиши лаконично, без переусложнений. Код читается как последовательный рассказ
|
||
- **Функциональный стиль:** Классы — только когда нужно состояние или интерфейс библиотеки. В остальном — функции
|
||
- **Приватность:** Внутреннюю логику модуля скрывай. Префикс `_` в Python/JS, `private` в TS/Rust, internal методы по умолчанию
|
||
- **Разделение ответственности:** Бизнес-логика ≠ транспорт ≠ представление. Максимум 200-300 строк на файл. Одна ответственность на файл
|
||
|
||
## 2. Прагматизм
|
||
- **YAGNI:** Только то что нужно сейчас. Никаких заделов «на будущее», оверинжиниринга и самодеятельности
|
||
- **Правило 80/20:** Если задача ведёт к неоправданному усложнению — предупреди и предложи альтернативу до написания кода
|
||
|
||
## 3. Принципы модульности
|
||
- Функция/метод — не длиннее 30-50 строк. Если больше — разбивай на мелкие тестируемые функции
|
||
- Файл — до 200-300 строк. Больше → декомпозиция
|
||
- Конфиги/константы — в отдельный файл, не в логику
|
||
- Приватные функции/методы для внутренних деталей (с префиксом `_` или аналогом языка)
|
||
|
||
## 4. Документирование
|
||
- Google-style комментарии на английском для всех публичных API
|
||
- Описывай **зачем**, а не **что** — код и так говорит что делает
|