Для разработчиков

Инструменты анализа архитектуры кода СмИТ Биллинг: интерактивный граф зависимостей, wiki сообществ и справочник по graphify CLI.

Для разработчиков
Граф архитектуры

Граф архитектуры

Интерактивный граф 2524 модулей, разбитых на 25 сообществ. D3.js force simulation.

Wiki сообществ

Wiki сообществ

21 страница с таблицами нод, типами, файлами и связями. Поиск по всем модулям.

graphify CLI

Как обновлять граф, добавлять семантику, читать GRAPH_REPORT.md.

God nodes — наиболее связанные модули

Модули с наибольшим количеством входящих и исходящих рёбер в графе. Изменения в этих файлах затрагивают весь проект.

Модуль Файл Связей Роль
BaseViewbilling/views/form.py197Базовый view-класс всего admin
PaginatorFormMixinbilling/views/form.py166Пагинация во всех списках
SearchFormMixinbilling/views/form.py160Поиск
MsgStackbilling/models/stubs.py159Система уведомлений
Homesbilling/models/homes.py149Модель адресов (дерево)
FreeScoutClientbilling/services/freescout.py138Клиент поддержки
FinanceOperationsbilling/models/finance_operations.py130Финансовые операции
AdminAccountsbilling/models/admin_accounts.py127Лицевые счета

Как обновить граф

Граф хранится в graphify-out/ внутри проекта carbon_modern/. Обновляется отдельно от основного кода.

# Только метки/цвета (без переиндексации, быстро):
cd carbon_modern
python graphify-out/run_labels.py

# Полный ребилд после изменений кода:
python graphify-out/run_pipeline.py
python graphify-out/run_labels.py

# Деплой в документацию:
cd docs
bash sync-docs.sh "dev: обновление графа архитектуры"

Сообщества графа

Граф разбит на 25 именованных сообществ алгоритмом Louvain. Каждое сообщество имеет собственную страницу в Wiki.

IDНазваниеМодулейКлючевые файлы
0Карточка абонента325billing/views/abonents.py
1Личный кабинет321lk/views/
2Финансы и деньги274billing/models/finance_operations.py
3Поиск абонентов238billing/views/abonents.py (AbonentsSearchView)
4Мобильный API163mobile_api/views/
5Авторизация152billing/models/abonents.py, billing/views/auth.py
7Блокировки125billing/services/firewall.py, billing/models/stubs.py
8Резервные копии110billing/tasks/backup.py
11Задачи биллинга94billing/tasks/billing_worker.py
14Отчёты СОРМ57billing/tasks/sorm_export.py
15Платёжные системы48lk/services/payment.py