Skip to main content

📐 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