team-work-it-Rad1ence
5 месяцев назад
4 месяца назад
4 месяца назад
4 месяца назад
5 месяцев назад
5 месяцев назад
5 месяцев назад
README.md
Project Task Manager
Участники проекта
- https://gitverse.ru/Rad1ence - Student 1 (Project Manager & Core Logic)
- https://gitverse.ru/mrBardon - Student 2 (Task Model & Critical Path Implementation)
- https://gitverse.ru/psevdo - Student 3 (Dependency Management & Visualization)
Распределение работы
Модели выполнения работы:
- Модель парного программирования - для разработки основных алгоритмов
- Разделение по ответственности - каждый участник отвечал за свой модуль
- Итеративная разработка - поэтапное добавление функциональности
- Code Review - взаимная проверка кода перед мержем
Распределение задач:
Student 1 (@Rad1ence):
- Архитектура проекта
- Основной класс ProjectManager
- Топологическая сортировка
- Интеграция всех компонентов
Student 2 (@mrBardon):
- Модель данных Task
- Алгоритм критического пути (CPM)
- Расчет временных параметров
- Демонстрационная программа
Student 3 (@psevdo):
- Управление зависимостями
- Валидация данных
- Визуализация зависимостей
- Обработка ошибок
Описание кода
Основные компоненты системы:
1. Класс Task (Task.cs)
Task.cs
Особенности:
- Полностью инкапсулированная модель задачи
- Поддержка временных расчетов для CPM
- Гибкая система зависимостей через ID
- Переопределенный ToString() для удобного вывода
2. Основной менеджер (ProjectManager.cs)
ProjectManager.cs
Ключевые алгоритмы:
Топологическая сортировка:
- Реализация алгоритма Кана
- Рекурсивный обход графа зависимостей
- Проверка на циклические зависимости
Критический путь (CPM):
Визуализация зависимостей:
- Текстовое представление графа задач
- Отображение связей между задачами
Структура репозитория
ProjectTaskManager/
│
├── dev/
│ └── solution.cs
│
├── spec/
│ └── codex.md
│
├── tasks/
│ └── task_variants.md
├── README.md
└── CONTRIBUTING.md
Ключевые особенности реализации
1. Управление зависимостями
- Валидация при добавлении задач
- Проверка на циклические зависимости
- Каскадное обновление при удалении
2. Алгоритмы анализа проекта
- Топологическая сортировка для определения порядка выполнения
- Метод критического пути (CPM) для планирования проекта
- Расчет временных резервов для оптимизации
3. Обработка ошибок
- Защита от некорректных данных
- Проверка целостности зависимостей
- Информативные сообщения об ошибках
4. Гибкость использования
- Различные способы сортировки задач
- Множественные варианты визуализации
- Расширяемая архитектура
Пример использования
Дополнительная информация
Роль Student 2 выполнялась у: @mrBardon
LLM, использованная при работе: DeepSeek V3
Технологический стек:
- C# .NET
- Алгоритмы графов
- Методы управления проектами
Методологии:
- Объектно-ориентированное программирование
- Алгоритмический подход к управлению проектами
- Модульное тестирование