9.3 KiB
Оценки задач из TODO_NEXT_DAY.md
Извлеченный список задач
-
Интеграционные тесты системы уведомлений: Создание интеграционного теста для полной цепочки от пользователя до уведомления, включая тестирование сценариев модерации и проверку зависимостей (UserRepository, ScoreRepository).
-
Улучшение обработки ошибок в NotificationService: Добавление специфической обработки сетевых ошибок (ConnectionError, TimeoutError), rate limiting для Telegram API и логирование ошибок.
-
Мониторинг отправки уведомлений: Добавление счетчиков успешных/неудачных отправок, метод для получения статистики и интеграция с системой метрик.
-
Повторные попытки отправки уведомлений: Реализация механизма повторных попыток с экспоненциальной задержкой и ограничением максимального количества попыток.
-
Добавить контекстные меню с учетом прав доступа: Реализация отображения контекстных меню на основе ролей пользователя, интеграция проверок разрешений и тестирование для разных уровней доступа.
-
Добавить реакцию на сообщения пользователей в чате: Реализация обработки сообщений на наличие "+" и автоматическая реакция с эмодзи рукопожатия в групповых чатах.
Оценки для каждой задачи
-
Интеграционные тесты системы уведомлений
Сложность: Средняя (требует понимания архитектуры, интеграции с репозиториями и настройки тестового окружения).
Зависимости: Зависит от существующих репозиториев (UserRepository, ScoreRepository) и системы модерации; может выполняться параллельно с другими задачами по уведомлениям.
Оценка времени на написание тестов: 2-4 часа (средняя сложность интеграции, включая mock-объекты и проверку состояния базы данных). -
Улучшение обработки ошибок в NotificationService
Сложность: Высокая (требует глубокого понимания Telegram API, асинхронной обработки и логирования).
Зависимости: Связана с задачей 1 (интеграционные тесты) и задачей 4 (повторные попытки); должна выполняться после базовой интеграции уведомлений.
Оценка времени на написание тестов: 4-6 часов (высокая сложность, включая mock-сервисы для симуляции сетевых сбоев и проверки логирования). -
Мониторинг отправки уведомлений
Сложность: Средняя (требует работы с метриками и счетчиками, но опирается на существующие компоненты).
Зависимости: Интегрируется с существующими метриками; зависит от задачи 2 (улучшение обработки ошибок) для корректного учета неудач.
Оценка времени на написание тестов: 2-4 часа (средняя сложность, включая mock-метрики и проверку счетчиков). -
Повторные попытки отправки уведомлений
Сложность: Высокая (требует работы с асинхронными таймерами и обработкой исключений).
Зависимости: Требует задачи 2 (улучшение обработки ошибок); критически зависит от NotificationService.
Оценка времени на написание тестов: 4-6 часов (высокая сложность, включая сценарии сбоев, проверку задержек и максимального числа попыток). -
Добавить контекстные меню с учетом прав доступа
Сложность: Средняя (требует интеграции с системой ролей и UI-компонентами).
Зависимости: Требует наличия системы ролей; не зависит от задач по уведомлениям, может выполняться параллельно.
Оценка времени на написание тестов: 2-4 часа (средняя сложность, включая сценарии с разными ролями и mock-пользователями). -
Добавить реакцию на сообщения пользователей в чате Сложность: Низкая (простая логика парсинга и API-вызов). Зависимости: Независимая задача; может быть выполнена в любое время. Оценка времени на написание тестов: 1-2 часа (низкая сложность, включая парсинг сообщений и реакцию в различных контекстах).
План выполнения задач
На основе оценок сложности и зависимостей, составлен план выполнения с учетом параллелизма. Зависимости: задача 2 зависит от 1, задачи 3 и 4 зависят от 2, задачи 5 и 6 независимы. Время на реализацию оценено по сложности (низкая: 1-2ч, средняя: 2-4ч, высокая: 4-6ч), плюс время на тесты из файла. Общее время на задачу = реализация + тесты.
Оценки задач с временами
-
Интеграционные тесты системы уведомлений
- Реализация: 3ч (средняя сложность)
- Тесты: 3ч (среднее из 2-4ч)
- Итого: 6ч
-
Улучшение обработки ошибок в NotificationService
- Реализация: 5ч (высокая сложность)
- Тесты: 5ч (среднее из 4-6ч)
- Итого: 10ч
-
Мониторинг отправки уведомлений
- Реализация: 3ч (средняя сложность)
- Тесты: 3ч (среднее из 2-4ч)
- Итого: 6ч
-
Повторные попытки отправки уведомлений
- Реализация: 5ч (высокая сложность)
- Тесты: 5ч (среднее из 4-6ч)
- Итого: 10ч
-
Добавить контекстные меню с учетом прав доступа
- Реализация: 3ч (средняя сложность)
- Тесты: 3ч (среднее из 2-4ч)
- Итого: 6ч
-
Добавить реакцию на сообщения пользователей в чате
- Реализация: 1.5ч (низкая сложность)
- Тесты: 1.5ч (среднее из 1-2ч)
- Итого: 3ч
Диаграмма Ганта (Markdown-таблица)
Параллелизм: задачи 5 и 6 могут идти параллельно с 1-4, но для простоты стартуют после 1. Задачи 3 и 4 параллельно после 2. Общий срок: 16ч (сумма критического пути: 1→2→3/4 + параллельные 5/6).
| Задача | Старт (день) | Конец (день) | Продолжительность (ч) | Зависимости |
|---|---|---|---|---|
| 1. Интеграционные тесты | 1 | 1 | 6 | - |
| 2. Обработка ошибок | 2 | 3 | 10 | 1 |
| 3. Мониторинг | 4 | 4 | 6 | 2 |
| 4. Повторные попытки | 4 | 5 | 10 | 2 |
| 5. Контекстные меню | 2 | 2 | 6 | - |
| 6. Реакция на сообщения | 2 | 2 | 3 | - |
Общий срок: 16ч (критический путь: 1+2+4=16ч, другие параллельно).