team-work-it-alexeyumatov
Система управления библиотекой - Командная разработка
📚 О проекте
Консольное приложение на C# для управления каталогом библиотеки с реализацией классических алгоритмов: бинарного поиска, QuickSort и рекурсивного поиска. Проект выполнен в рамках курса "VibeCode" с применением методологии трёхэтапной командной разработки.
Вариант задания: 1 - Система управления библиотекой
👥 Участники проекта
Student 1 (Specification Engineer) 🎯
- Роль: Создание системной спецификации
- Вклад: Разработка подробного технического задания в формате System Prompt
- Gitverse аккаунт: alexeyumatov
Student 2 (Developer) 💻
- Роль: Реализация на основе спецификации
- Вклад: Разработка консольного приложения на C# с использованием AI-помощника
- Gitverse аккаунт: confucius
- Инструмент: GitHub Copilot (Claude Sonnet 4.5)
Student 3 (Code Reviewer) 🔍
- Роль: Анализ качества кода и соответствия спецификации
- Вклад: Детальное ревью с рекомендациями по улучшению
- Gitverse аккаунт: Stevan
🔧 Технологии и инструменты
- Язык программирования: C# (.NET 6.0+)
- Тип приложения: Console Application
- Структуры данных: List
- Реализованные алгоритмы:
- Бинарный поиск (Binary Search) - O(log n)
- QuickSort с медианным pivot - O(n log n)
- Рекурсивный поиск по частичному совпадению
- AI-инструменты:
- GitHub Copilot для генерации кода
- Спецификация разработана для подачи в LLM-контекст
📂 Структура репозитория
team-work-it-alexeyumatov/
├── CONTRIBUTING.md # Требования к совместной разработке
├── README.md # Этот файл
│
├── spec/ # Работа Student 1
│ └── codex.md # Системная спецификация (System Prompt)
│
├── dev/ # Работа Student 2
│ └── solution.cs # Реализация системы управления библиотекой
│
├── review/ # Работа Student 3
│ └── code_review.md # Детальное код-ревью
│
├── demo/ # Демонстрация работы
│ ├── test_results.md # Скриншоты и примеры выполнения
│ └── specification_compliance.md # Соответствие спецификации
│
└── tasks/
└── task_variants.md # Описание вариантов заданий
🎯 Описание реализованного функционала
Основные возможности:
-
Управление каталогом книг
- Добавление новых книг с валидацией данных
- Удаление книг по ISBN
- Отображение всего каталога в табличном формате
-
Алгоритмы поиска
- Бинарный поиск по ISBN (O(log n)) - требует сортировки
- Рекурсивный поиск по частичному совпадению названия
-
Сортировка
- QuickSort для сортировки книг по названию в алфавитном порядке
-
Валидация данных
- ISBN: точно 13 цифр, проверка уникальности
- Год издания: диапазон 1900-2025
- Количество экземпляров: 0-1000
-
Пользовательский интерфейс
- Интуитивное меню с 7 опциями
- Цветовая индикация (ошибки, успех, предупреждения)
- Табличный вывод с выравниванием колонок
Структура кода:
Класс Book
Представляет книгу в библиотеке с полями:
(string) - уникальный идентификаторISBN(string) - названиеTitle(string) - авторAuthor(int) - год изданияYear(int) - количество экземпляровQuantity
Класс Library
Основной класс для управления каталогом с методами:
- добавление с валидациейAddBook(Book book)- удаление по ISBNRemoveBook(string isbn)- O(log n) поискBinarySearchByISBN(string isbn)- сортировка алгоритмом QuickSortQuickSortByTitle()- рекурсивный поискRecursiveSearchByTitle(string titlePart, int index)- форматированный выводDisplayBooks(List<Book> books)- загрузка тестовых данныхLoadSampleData()
Класс Program
Главный класс с консольным интерфейсом:
- точка входа с основным цикломMain()- отображение менюDisplayMenu(),AddBookMenu(),RemoveBookMenu(),SearchByISBNMenu()- обработка пользовательского вводаSearchByTitleMenu()
🚀 Как запустить
Требования:
- .NET 6.0 или выше
- Windows, macOS или Linux
Компиляция и запуск:
Быстрый старт с .NET SDK:
📊 Процесс разработки
Этап 1: Спецификация (Student 1) - 30 минут
- Анализ требований задания (Вариант 1)
- Создание
в формате System Promptspec/codex.md - Описание структуры данных, алгоритмов и критериев приёмки
- Подготовка примеров тестовых данных (7 книг)
Инструмент: Текстовый редактор, понимание требований VibeCode
Этап 2: Реализация (Student 2) - 40 минут
- Загрузка спецификации в контекст GitHub Copilot
- Генерация кода на основе System Prompt
- Реализация трёх ключевых алгоритмов вручную
- Создание консольного интерфейса с меню
- Тестирование основного функционала
Инструмент: GitHub Copilot (Claude Sonnet 4.5 модель)
Подход:
- Скопирован System Prompt из
в Copilotcodex.md - Постепенная реализация классов и методов
- Добавление UI/UX улучшений (цвета, форматирование)
- Интеграция всех компонентов в единое приложение
Этап 3: Код-ревью (Student 3) - 20 минут
- Проверка соответствия спецификации
- Анализ качества кода и читаемости
- Оценка реализации алгоритмов
- Выявление замечаний и рекомендаций
- Подготовка детального отчёта в review/code_review.md
Формат: Структурированное ревью с секциями "Сильные стороны", "Замечания", "Рекомендации"
🎓 Образовательная ценность
Что было изучено:
-
Алгоритмы и структуры данных:
- Бинарный поиск и его сложность O(log n)
- QuickSort с выбором медианного pivot
- Рекурсивные алгоритмы с базовым случаем
-
Работа с AI-помощниками:
- Составление эффективных System Prompts
- Использование LLM для генерации кода
- Итеративная доработка с AI
-
Командная разработка:
- Роль спецификации в процессе разработки
- Важность код-ревью для качества
- Разделение ответственности между ролями
-
C# и .NET:
- Консольные приложения
- ООП (классы, методы, свойства)
- Обработка пользовательского ввода
- Форматирование вывода в консоль
📄 Дополнительная информация
Роль Student 2 выполнялась для:
GitVerse аккаунт:
Роль Student 3 выполнялась для:
GitVerse аккаунт:
Соответствие методологии VibeCode:
- ✅ Трёхэтапный процесс: Specification → Development → Review
- ✅ Использование AI-помощников на этапе разработки
- ✅ Чёткая спецификация в формате System Prompt
- ✅ Демонстрация работы приложения в /demo
- ✅ Структурированное ревью кода
🏆 Выводы
Проект успешно демонстрирует:
-
Эффективность VibeCode подхода - чёткая спецификация позволила AI-помощнику сгенерировать качественный код за короткое время
-
Важность планирования - детальная спецификация Student 1 упростила работу Student 2 и Student 3
-
Роль ревью - критический анализ Student 3 выявил важные замечания, которые улучшают качество финального продукта
-
Практическое применение алгоритмов - реализация классических алгоритмов в реальном приложении, а не абстрактных упражнениях
📞 Контакты
Для вопросов по проекту обращайтесь к участникам команды через их Gitverse аккаунты.
Дата выполнения: 27 ноября 2025
Курс: VibeCode - Совместная разработка
Вариант: 1 (Система управления библиотекой)