team-work-it-Rad1ence

0
5 месяцев назад
4 месяца назад
4 месяца назад
4 месяца назад
5 месяцев назад
5 месяцев назад
README.md

Project Task Manager

Участники проекта

Распределение работы

Модели выполнения работы:

  1. Модель парного программирования - для разработки основных алгоритмов
  2. Разделение по ответственности - каждый участник отвечал за свой модуль
  3. Итеративная разработка - поэтапное добавление функциональности
  4. Code Review - взаимная проверка кода перед мержем

Распределение задач:

Student 1 (@Rad1ence):

  • Архитектура проекта
  • Основной класс ProjectManager
  • Топологическая сортировка
  • Интеграция всех компонентов

Student 2 (@mrBardon):

  • Модель данных Task
  • Алгоритм критического пути (CPM)
  • Расчет временных параметров
  • Демонстрационная программа

Student 3 (@psevdo):

  • Управление зависимостями
  • Валидация данных
  • Визуализация зависимостей
  • Обработка ошибок

Описание кода

Основные компоненты системы:

1. Класс Task (
Task.cs
)

Особенности:

  • Полностью инкапсулированная модель задачи
  • Поддержка временных расчетов для CPM
  • Гибкая система зависимостей через ID
  • Переопределенный ToString() для удобного вывода

2. Основной менеджер (
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
  • Алгоритмы графов
  • Методы управления проектами

Методологии:

  • Объектно-ориентированное программирование
  • Алгоритмический подход к управлению проектами
  • Модульное тестирование