team-work-it-GalyaIDE

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

Командный проект по анализу производительности алгоритмов 🧑‍💻 Участники проекта Роль 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-ассистентов для генерации качественного кода

Важность код-ревью для обеспечения качества