project_for_VB

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

Auto Code Grader 🎯

Tests Code Quality

Система автоматической оценки качества студенческого кода с использованием 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 балла)

  • ✅ Логичная структура папок
  • ✅ Наличие
    .gitignore
    и
    requirements.txt
  • ✅ Код в
    src/
    , тесты в
    tests/

Работоспособность (4 балла)

  • ✅ Код работает локально
  • ✅ Настроен GitHub Actions workflow
  • ✅ Проверка PEP 8
  • ✅ Написаны юнит-тесты

Документация (2 балла)

  • ✅ Полный README с примерами
  • ✅ Описание установки и использования
  • ✅ Отсутствие опечаток

Креатив CI/CD (2 балла)

  • ✅ Два workflow с разными задачами
  • ✅ Практическая ценность (анализ качества + безопасность)
  • ✅ Полная документация

🤝 Разработка

Установка для разработки

Добавление нового анализатора

  1. Создайте класс в
    src/analyzers/
  2. Реализуйте метод
    analyze(code: str) -> dict
  3. Добавьте в
    src/main.py
  4. Напишите тесты в
    tests/

📄 Лицензия

MIT License — смотрите файл

LICENSE
для деталей.

👥 Авторы

Пульников Артём Алексеевич РИ-150911