📐 Coding Conventions
Этот проект строго придерживается единых правил, чтобы весь код был предсказуемым, читаемым и простым в поддержке.
📝 Style Guide
Проект использует:
- ESLint — статический анализ
- Prettier — единый стиль форматирования
- TypeScript strict mode — максимально строгая типизация
Все настройки находятся в корне репозитория и применяются автоматически.
🔤 Правила именования
- Классы — PascalCase
- Функции и переменные — camelCase
- Константы — UPPER_SNAKE_CASE
- Файлы — kebab-case.ts
- Тесты — *.test.ts
🧩 Структура типов
- Используем типобезопасные функции
- Избегаем any
- Предпочитаем type вместо interface
- Все входные данные должны иметь явный тип
🧪 Тесты
- Каждый модуль имеет хотя бы один тест
- Тесты располагаются рядом с кодом (*.test.ts)
- Используем Vitest
📚 Комментарии
- Комментарии только там, где логика сложная
- Код должен быть самодокументируемым
- Допускаются JSDoc над публичными функциями
🔄 Форматирование
ash npm run format