You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ниже — идеи по развитию проекта, опираясь на текущую архитектуру и кодовую базу.
4
+
5
+
## 1) Точность анализа и качество графа
6
+
-**Перейти на `ast`/`libcst` для разбора**: токенизация ломается на сложных кейсах (f-строки, переносы, декораторы, match/case). AST даст корректные границы сущностей, типы, базовые классы и вызовы.
7
+
-**Поддержать относительные импорты**: `from . import x`, `from ..pkg import y`. Сейчас `get_imports_and_entities_lines` работает только с абсолютными именами.
8
+
-**Разрешение алиасов и импортов**: хранить карту `alias -> full.module` и подставлять при поиске зависимостей (сейчас глобальный `aliases` рискованен при многомодульном анализе).
9
+
-**Улучшить поиск использования сущностей**: вместо простого `name + "("` анализировать вызовы/атрибуты (`ast.Call`, `ast.Attribute`), чтобы уменьшить ложные срабатывания.
10
+
-**Связи "module -> module" отдельно от "entity -> entity"**: сейчас модульные связи строятся через `_`, что усложняет трактовку; можно выделить явный тип связи.
11
+
12
+
## 2) Производительность и масштабирование
13
+
-**Параллельный разбор файлов**: `get_code_objects` можно распараллелить (ProcessPool), особенно на больших репозиториях.
14
+
-**Кэширование результатов**: сохранять AST/объекты по хэшу файла для инкрементального анализа.
15
+
-**Фильтрация файлов**: опции CLI для исключения `tests/`, `migrations/`, `__pycache__` и т.п.
16
+
17
+
## 3) Расширение форматов и интеграций
18
+
-**Экспорт в DOT/GraphML/JSON**: добавить форматы, чтобы легко импортировать в Gephi, Neo4j, yEd.
19
+
-**CLI-вывод для CI**: режим `--json` или `--report` для автоматических проверок связности/циклов.
0 commit comments