team-work-it-GalyaIDE
Командный проект по анализу производительности алгоритмов 🧑💻 Участники проекта Роль GitVerse аккаунт Student 1 GalyaIDE Student 2 D1amond Student 3 alika_mat 🎯 Цель проекта Реализация консольного приложения на C# для сравнения производительности алгоритмов поиска и сортировки на целочисленных массивах. Проект выполнен в рамках практического занятия по VibeCode-подходу с использованием AI-ассистентов.
📁 Структура репозитория text ├── spec/ │ └── codex.md # Спецификация от Student 1 ├── dev/ │ └── Program.cs # Реализация от Student 2 ├── review/ │ └── feedback.md # Код-ревью от Student 3 ├── demo/ │ ├── screenshot1.png # Скриншот работы программы │ ├── screenshot2.png # Ещё скриншот │ └── output_example.txt # Пример вывода программы ├── README.md # Этот файл
🛠 Используемые технологии и инструменты Язык: C# (.NET 6.0+)
IDE: Visual Studio 2022 / VS Code с расширением C#
AI-ассистент: Cursor (GigaCodeIde 5.1+)
Система контроля версий: Git + GitVerse
📋 Описание реализованного функционала 🔍 Поисковые алгоритмы LinearSearch — линейный поиск
BinarySearch — бинарный поиск (только для отсортированных массивов)
📊 Алгоритмы сортировки BubbleSort — пузырьковая сортировка
QuickSort — быстрая сортировка
MergeSort — сортировка слиянием
🎮 Интерфейс Интерактивное консольное меню
Выбор размера массива (100–100 000 элементов)
Выбор типа данных: случайные, отсортированные, обратно отсортированные
Сравнение всех алгоритмов в табличном формате
⚡ Измерения Время выполнения в миллисекундах
Количество сравнений элементов
Оценка эффективности (Fast/Moderate/Slow)
🔄 Процесс разработки Этап 1: Спецификация (Student 1) Создан файл spec/codex.md с детальным описанием требований
Определены форматы входных/выходных данных
Указаны критерии приёмки и ограничения
Использован AI-ассистент: Да, для структурирования документа
Этап 2: Реализация (Student 2) Разработано консольное приложение по спецификации
Реализованы все 5 алгоритмов
Добавлено интерактивное меню и замер времени
Использован AI-ассистент: Да, для генерации шаблонов алгоритмов и структуры классов
Этап 3: Код-ревью (Student 3) Проверено соответствие кода спецификации
Проанализированы качество кода, обработка ошибок, производительность
Составлен детальный отчет с рекомендациями
Использован AI-ассистент: Нет, анализ выполнен вручную
📊 Результаты тестирования При тестировании на массиве из 10 000 элементов:
Алгоритм Время (мс) Сравнений Оценка BubbleSort 245.12 49 995 000 Slow QuickSort 3.45 156 789 Fast MergeSort 5.67 134 567 Fast LinearSearch < 0.1 ~5 000 Fast BinarySearch < 0.1 ~13 Very Fast 📈 Ключевые выводы QuickSort показал наилучшую производительность на случайных данных
BubbleSort экспоненциально замедляется при увеличении размера массива
BinarySearch в 100+ раз быстрее LinearSearch на отсортированных данных
MergeSort стабилен, но требует дополнительной памяти
🧪 Как запустить проект Клонируйте репозиторий:
bash git clone <url-репозитория> Откройте проект в Visual Studio или VS Code
Соберите и запустите:
bash dotnet run --project dev/ Следуйте инструкциям в консольном меню
🔗 Связь с AI-ассистентами Студент 2 использовал Cursor для: Генерации шаблонов классов SearchAlgorithm, SortingAlgorithm
Реализации рекурсивных методов QuickSort и MergeSort
Создания базовой структуры меню
Оптимизации кода (рефакторинг)
Промпты, использованные при работе: text "Create a C# console application that implements linear and binary search" "Implement QuickSort algorithm in C# with performance measurement" "Create a menu system for algorithm selection with input validation" 📝 Заключение Проект успешно демонстрирует:
Применение VibeCode-подхода в разработке
Эффективное разделение ролей в команде
Возможности AI-ассистентов для генерации качественного кода
Важность код-ревью для обеспечения качества