# Чеклист код-рев'ю

## Чеклист безпеки
- [ ] Немає захардкоджених облікових даних або секретів
- [ ] Валідація введення для всіх даних від користувача
- [ ] Захист від SQL-ін'єкцій (параметризовані запити)
- [ ] CSRF-захист для операцій зі зміною стану
- [ ] Захист від XSS з правильним екрануванням
- [ ] Перевірка автентифікації на захищених ендпоінтах
- [ ] Перевірка авторизації для ресурсів
- [ ] Безпечне хешування паролів (bcrypt, argon2)
- [ ] Немає чутливих даних у логах
- [ ] HTTPS обов'язковий

## Чеклист продуктивності
- [ ] Немає N+1 запитів
- [ ] Правильне використання індексів
- [ ] Кешування реалізовано де доцільно
- [ ] Немає блокуючих операцій в основному потоці
- [ ] Async/await використовується коректно
- [ ] Великі набори даних пагіновані
- [ ] Пул з'єднань до бази даних
- [ ] Регулярні вирази оптимізовані
- [ ] Немає зайвого створення об'єктів
- [ ] Витоки пам'яті запобігаються

## Чеклист якості
- [ ] Функції < 50 рядків
- [ ] Зрозумілі назви змінних
- [ ] Немає дублювання коду
- [ ] Правильна обробка помилок
- [ ] Коментарі пояснюють ЧОМУ, а не ЩО
- [ ] Немає console.log у продакшені
- [ ] Перевірка типів (TypeScript/JSDoc)
- [ ] Принципи SOLID дотримані
- [ ] Патерни проєктування застосовані коректно
- [ ] Самодокументований код

## Чеклист тестування
- [ ] Юніт-тести написані
- [ ] Граничні випадки покриті
- [ ] Сценарії помилок протестовані
- [ ] Інтеграційні тести є
- [ ] Покриття > 80%
- [ ] Немає нестабільних тестів
- [ ] Зовнішні залежності замоковані
- [ ] Зрозумілі назви тестів
