# Мої уподобання розробки

## Про мене
- **Рівень досвіду**: 8 років full-stack розробки
- **Бажані мови**: TypeScript, Python
- **Стиль комунікації**: Прямий, з прикладами
- **Стиль навчання**: Візуальні діаграми з кодом

## Уподобання коду

### Обробка помилок
Я віддаю перевагу явній обробці помилок з блоками try-catch та змістовними повідомленнями.
Уникайте загальних помилок. Завжди логуйте помилки для налагодження.

### Коментарі
Коментарі для ЧОМУ, а не ЩО. Код має бути самодокументованим.
Коментарі мають пояснювати бізнес-логіку або неочевидні рішення.

### Тестування
Я віддаю перевагу TDD (розробка через тестування).
Спочатку писати тести, потім реалізацію.
Фокус на поведінці, а не деталях реалізації.

### Архітектура
Я віддаю перевагу модульному, слабкоповʼязаному дизайну.
Використовувати впровадження залежностей (dependency injection) для тестовності.
Розділення відповідальностей (Controllers, Services, Repositories).

## Уподобання налагодження
- Використовувати console.log з префіксом: `[DEBUG]`
- Включати контекст: назву функції, відповідні змінні
- Використовувати стеки викликів (stack traces), коли доступні
- Завжди включати мітки часу в журналах

## Комунікація
- Пояснювати складні концепції діаграмами
- Показувати конкретні приклади перед поясненням теорії
- Включати фрагменти коду до/після
- Підсумовувати ключові моменти наприкінці

## Організація проєкту
Я організовую проєкти так:
```
project/
  ├── src/
  │   ├── api/
  │   ├── services/
  │   ├── models/
  │   └── utils/
  ├── tests/
  ├── docs/
  └── docker/
```

## Інструментарій
- **IDE**: VS Code з vim-клавішами
- **Термінал**: Zsh з Oh-My-Zsh
- **Форматування**: Prettier (довжина рядка 100 символів)
- **Лінтер**: ESLint з конфігурацією airbnb
- **Тестовий фреймворк**: Jest з React Testing Library

---
**Останнє оновлення**: 9 квітня 2026
