team-work-it-KALLIA1231123
Выполняли: - Quantum_leap (роль студента 2) - elislady - aka_bunker (роль студента 3)
Этап 1: Изучение требований
Сначала я внимательно разобрал техническое задание:
Нужно было работать с задачами, имеющими зависимости друг на друга Требовалось реализовать сложные алгоритмы: топологическую сортировку, поиск критического пути Важно было предусмотреть обработку ошибок (особенно циклических зависимостей)
Этап 2: Проектирование архитектуры
С помощью ИИ-помощника я спроектировал структуру классов:
Класс Task - для хранения данных о задаче Класс ProjectManager - для управления проектом и алгоритмов ИИ помог понять, какие алгоритмы лучше подходят для каждой задачи:
Алгоритм Кана для топологической сортировки Рекурсивный DFS для поиска циклов Модифицированный алгоритм Дейкстры для критического пути
Этап 3: Реализация
Я писал код поэтапно:
Сначала простые методы - добавление, удаление задач Затем более сложные - топологическая сортировка Самые сложные - проверка циклов и критический путь Когда возникали трудности (особенно с рекурсивной проверкой циклов), я обращался к ИИ за помощью. Он объяснял логику алгоритмов и помогал исправлять ошибки.
Этап 4: Тестирование
Я создал несколько тестовых сценариев:
Простой проект из 4 задач Проект с циклическими зависимостями Сложный проект с множественными зависимостями Для каждого теста проверял:
Корректность сортировки Правильность критического пути Общую длительность проекта Обработку ошибок 💡 Что было сложного
Самой сложной частью оказалась реализация проверки циклических зависимостей. Сначала мой алгоритм зацикливался, но с помощью ИИ я понял, что нужно использовать два множества: для посещенных узлов и для текущего пути рекурсии.
Вторая сложность - расчет критического пути. Пришлось разбираться, что это самый длинный путь в графе, а не кратчайший.
🎓 Чему я научился
Алгоритмы работы с графами: топологическая сортировка, поиск в глубину Архитектура приложений: разделение ответственности между классами Обработка исключительных ситуаций: корректная работа с ошибочными данными Тестирование: создание комплексных тестовых сценариев 📊 Результат
Наш планировщик успешно:
✅ Управляет задачами с зависимостями ✅ Обнаруживает циклические зависимости ✅ Вычисляет оптимальный порядок выполнения ✅ Находит критический путь проекта ✅ Рассчитывает общую длительность Работа заняла около 3 дней, включая изучение теории и тестирование. ИИ-помощник значительно ускорил процесс, объясняя сложные концепции и помогая исправлять ошибки.