Этот проект представляет собой статический анализатор кода с интерфейсом на основе Streamlit. Он позволяет загружать ZIP-архивы с исходным кодом и получать подробный отчет об архитектуре и поддерживаемости проекта.
- analytics.py - основной модуль для анализа кода.
- ui.py - интерфейс Streamlit для взаимодействия с пользователем.
- feature_extractors - пакет с модулями для извлечения различных характеристик из кода. Можно генерировать через LLM. Прототипы функций находятся в feature_extractors/ - просто повторяй.
Используется COMPRESSA. Нужно посетить энв COMPRESSA_KEY - взять у нас. Либо же поднять свой сервер с Qwen-14b и OpenAI API (см analitics.py).
- Анализ архитектуры проекта: Определение основных архитектурных паттернов, используемых в проекте, и предоставление рекомендаций по улучшению.
- Оценка поддерживаемости: Измерение поддерживаемости и простоты кода на основе архитектурных решений.
- Интерфейс Streamlit: Удобный веб-интерфейс для загрузки и анализа проектов.
- Клонируйте репозиторий:
git clone https://github.com/yourusername/code-analysis-tool.git
cd code-analysis-tool
- Установите необходимые зависимости:
pip install -r requirements.txt
- Запустите Streamlit приложение:
python -m streamlit run ui.py
- Запустите сервер на 9000 порту (в отдельном терминале):
cd static
python -m http.server 9000
- Проект должен быть написан на Python.
- Проект должен быть заархивирован в ZIP.
- Поддерживает относительно небольшие проекты (до 1000 файлов).
- добавлены только несколько правил анализа.