project_for_VB
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
README.md
Auto Code Grader 🎯
Система автоматической оценки качества студенческого кода с использованием AI и метрик качества.
🚀 Возможности
- ✅ Функциональная проверка через юнит-тесты
- 📊 Анализ сложности кода (цикломатическая сложность)
- 🎨 Проверка стиля (PEP 8, Google Style Guide)
- 🔍 Поиск дублирования кода
- 💬 NLP-анализ комментариев и имен переменных
- 📈 Визуальная аналитика с интерактивными дашбордами
🏗 Архитектура
src/
├── analyzers/ # Анализаторы кода
│ ├── complexity_analyzer.py
│ ├── style_analyzer.py
│ └── duplication_analyzer.py
├── nlp/ # NLP-анализ
│ ├── comment_analyzer.py
│ └── name_analyzer.py
├── testing/ # Система тестирования
│ └── test_runner.py
├── visualization/ # Визуализация
│ └── dashboard.py
└── utils/ # Вспомогательные утилиты
🛠 Установка
🏃 Использование
Базовый анализ кода
Запуск дашборда
📊 Метрики оценки
| Метрика | Вес | Описание |
|---|---|---|
| Функциональность | 40% | Прохождение юнит-тестов |
| Сложность кода | 15% | Цикломатическая сложность |
| Стиль кодирования | 15% | Соответствие PEP 8 |
| Дублирование | 10% | Повторяющиеся фрагменты |
| Комментарии | 20% | Качество и полнота |
🧪 Тестирование
🔧 CI/CD
Проект использует GitHub Actions для:
- ✅ Автоматического тестирования
- 📊 Анализа качества кода
- 🔒 Проверки безопасности
- 📈 Сбора метрик
📁 Примеры
В папке содержатся примеры кода для тестирования:examples/
— пример студенческого кодаstudent_code.py— пример тестовtest_student_code.py— код с проблемами для анализаcomplex_code.py
🎯 Критерии оценки проекта
Полезность (4 балла)
- ✅ Решает реальную проблему автоматизации оценки
- ✅ Четко определена область применения (AI в образовании)
- ✅ Имеет потенциал практического использования
Оформление (3 балла)
- ✅ Логичная структура папок
- ✅ Наличие
и.gitignorerequirements.txt - ✅ Код в
, тесты вsrc/tests/
Работоспособность (4 балла)
- ✅ Код работает локально
- ✅ Настроен GitHub Actions workflow
- ✅ Проверка PEP 8
- ✅ Написаны юнит-тесты
Документация (2 балла)
- ✅ Полный README с примерами
- ✅ Описание установки и использования
- ✅ Отсутствие опечаток
Креатив CI/CD (2 балла)
- ✅ Два workflow с разными задачами
- ✅ Практическая ценность (анализ качества + безопасность)
- ✅ Полная документация
🤝 Разработка
Установка для разработки
Добавление нового анализатора
- Создайте класс в src/analyzers/
- Реализуйте метод analyze(code: str) -> dict
- Добавьте в src/main.py
- Напишите тесты в tests/
📄 Лицензия
MIT License — смотрите файл для деталей.LICENSE
👥 Авторы
Пульников Артём Алексеевич РИ-150911