refactor to code (mini task)
Задача: "Мы ожидаем, что Вы найдете все возможные недочеты и ошибки и сделаете из плохого кода хороший."
Условие: main_task.go
Мое решение: main_decision.go
Изменения и улучшения:
-
Использование time.Time: Время создания и выполнения теперь использует тип time.Time для более точной работы с временем;
-
Многопоточность и синхронизация: Введен sync.WaitGroup для корректного ожидания завершения всех горутин перед закрытием каналов и выводом результатов;
-
Улучшение логики создания ошибочных задач: Логика сохранена, но реализация упрощена для лучшей читаемости;
-
Оптимизация обработки задач: Введен пул воркеров для параллельной обработки задач, что улучшает производительность и управляемость кода;
-
Упрощение сортировки задач: Используется одинаковый тип канала для выполненных и не выполненных задач, что упрощает логику обработки.
Эти изменения делают код более читаемым и улучшают его производительность.