279 lines
6.2 KiB
JSON
279 lines
6.2 KiB
JSON
|
|
{
|
||
|
|
"generated_at": "2026-04-27T18:39:05.636749",
|
||
|
|
"project_root": "/tmp/tp",
|
||
|
|
"summary": {
|
||
|
|
"total_files": 9,
|
||
|
|
"total_nloc": 26,
|
||
|
|
"total_functions": 9,
|
||
|
|
"avg_system_ccn": 1.78,
|
||
|
|
"system_risk_level": "LOW",
|
||
|
|
"recommended_system_strategy": "KEEP",
|
||
|
|
"dependency_cycles_count": 0
|
||
|
|
},
|
||
|
|
"dependency_cycles": [],
|
||
|
|
"decisions": [
|
||
|
|
{
|
||
|
|
"module": "service/routes",
|
||
|
|
"risk_level": "MEDIUM",
|
||
|
|
"strategy": "REFACTOR",
|
||
|
|
"priority": 800,
|
||
|
|
"reasons": [
|
||
|
|
"Критическая нестабильность: I=1.00 (порог 0.9)"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"module": "ui_widget",
|
||
|
|
"risk_level": "MEDIUM",
|
||
|
|
"strategy": "REFACTOR",
|
||
|
|
"priority": 800,
|
||
|
|
"reasons": [
|
||
|
|
"Критическая нестабильность: I=1.00 (порог 0.9)"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"module": "<root>",
|
||
|
|
"risk_level": "LOW",
|
||
|
|
"strategy": "KEEP",
|
||
|
|
"priority": 980,
|
||
|
|
"reasons": []
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"module": "utils",
|
||
|
|
"risk_level": "LOW",
|
||
|
|
"strategy": "KEEP",
|
||
|
|
"priority": 980,
|
||
|
|
"reasons": []
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"module": "database",
|
||
|
|
"risk_level": "LOW",
|
||
|
|
"strategy": "KEEP",
|
||
|
|
"priority": 990,
|
||
|
|
"reasons": []
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"module": "service/database",
|
||
|
|
"risk_level": "LOW",
|
||
|
|
"strategy": "KEEP",
|
||
|
|
"priority": 990,
|
||
|
|
"reasons": []
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"modules": {
|
||
|
|
"<root>": {
|
||
|
|
"files": [
|
||
|
|
"/tmp/tp/config.js"
|
||
|
|
],
|
||
|
|
"language": "mixed",
|
||
|
|
"total_nloc": 0,
|
||
|
|
"total_functions": 0,
|
||
|
|
"avg_ccn": 0.0,
|
||
|
|
"max_ccn": 0,
|
||
|
|
"heavy_functions_count": 0,
|
||
|
|
"heavy_functions_ratio": 0.0,
|
||
|
|
"coupling_out": 0,
|
||
|
|
"coupling_in": 2,
|
||
|
|
"instability": 0.0,
|
||
|
|
"has_cycles": false,
|
||
|
|
"dependencies": [],
|
||
|
|
"dependents": [
|
||
|
|
"service/database",
|
||
|
|
"service/routes"
|
||
|
|
],
|
||
|
|
"functions": []
|
||
|
|
},
|
||
|
|
"database": {
|
||
|
|
"files": [
|
||
|
|
"/tmp/tp/database/DatabaseManager.cpp",
|
||
|
|
"/tmp/tp/database/DatabaseManager.h"
|
||
|
|
],
|
||
|
|
"language": "mixed",
|
||
|
|
"total_nloc": 0,
|
||
|
|
"total_functions": 0,
|
||
|
|
"avg_ccn": 0.0,
|
||
|
|
"max_ccn": 0,
|
||
|
|
"heavy_functions_count": 0,
|
||
|
|
"heavy_functions_ratio": 0.0,
|
||
|
|
"coupling_out": 1,
|
||
|
|
"coupling_in": 1,
|
||
|
|
"instability": 0.5,
|
||
|
|
"has_cycles": false,
|
||
|
|
"dependencies": [
|
||
|
|
"database",
|
||
|
|
"utils"
|
||
|
|
],
|
||
|
|
"dependents": [
|
||
|
|
"ui_widget"
|
||
|
|
],
|
||
|
|
"functions": []
|
||
|
|
},
|
||
|
|
"service/database": {
|
||
|
|
"files": [
|
||
|
|
"/tmp/tp/service/database/db.js"
|
||
|
|
],
|
||
|
|
"language": "mixed",
|
||
|
|
"total_nloc": 3,
|
||
|
|
"total_functions": 2,
|
||
|
|
"avg_ccn": 1.5,
|
||
|
|
"max_ccn": 2,
|
||
|
|
"heavy_functions_count": 0,
|
||
|
|
"heavy_functions_ratio": 0.0,
|
||
|
|
"coupling_out": 1,
|
||
|
|
"coupling_in": 1,
|
||
|
|
"instability": 0.5,
|
||
|
|
"has_cycles": false,
|
||
|
|
"dependencies": [
|
||
|
|
"<root>"
|
||
|
|
],
|
||
|
|
"dependents": [
|
||
|
|
"service/routes"
|
||
|
|
],
|
||
|
|
"functions": [
|
||
|
|
{
|
||
|
|
"name": "query",
|
||
|
|
"file": "/tmp/tp/service/database/db.js",
|
||
|
|
"line": 3,
|
||
|
|
"ccn": 2,
|
||
|
|
"nloc": 2,
|
||
|
|
"params": 2
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "if",
|
||
|
|
"file": "/tmp/tp/service/database/db.js",
|
||
|
|
"line": 4,
|
||
|
|
"ccn": 1,
|
||
|
|
"nloc": 1,
|
||
|
|
"params": 1
|
||
|
|
}
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"service/routes": {
|
||
|
|
"files": [
|
||
|
|
"/tmp/tp/service/routes/auth.js"
|
||
|
|
],
|
||
|
|
"language": "mixed",
|
||
|
|
"total_nloc": 23,
|
||
|
|
"total_functions": 7,
|
||
|
|
"avg_ccn": 1.86,
|
||
|
|
"max_ccn": 7,
|
||
|
|
"heavy_functions_count": 0,
|
||
|
|
"heavy_functions_ratio": 0.0,
|
||
|
|
"coupling_out": 2,
|
||
|
|
"coupling_in": 0,
|
||
|
|
"instability": 1.0,
|
||
|
|
"has_cycles": false,
|
||
|
|
"dependencies": [
|
||
|
|
"<root>",
|
||
|
|
"service/database"
|
||
|
|
],
|
||
|
|
"dependents": [],
|
||
|
|
"functions": [
|
||
|
|
{
|
||
|
|
"name": "authenticate",
|
||
|
|
"file": "/tmp/tp/service/routes/auth.js",
|
||
|
|
"line": 3,
|
||
|
|
"ccn": 7,
|
||
|
|
"nloc": 17,
|
||
|
|
"params": 2
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "if",
|
||
|
|
"file": "/tmp/tp/service/routes/auth.js",
|
||
|
|
"line": 6,
|
||
|
|
"ccn": 1,
|
||
|
|
"nloc": 1,
|
||
|
|
"params": 1
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "if",
|
||
|
|
"file": "/tmp/tp/service/routes/auth.js",
|
||
|
|
"line": 9,
|
||
|
|
"ccn": 1,
|
||
|
|
"nloc": 1,
|
||
|
|
"params": 1
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "if",
|
||
|
|
"file": "/tmp/tp/service/routes/auth.js",
|
||
|
|
"line": 10,
|
||
|
|
"ccn": 1,
|
||
|
|
"nloc": 1,
|
||
|
|
"params": 1
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "if",
|
||
|
|
"file": "/tmp/tp/service/routes/auth.js",
|
||
|
|
"line": 10,
|
||
|
|
"ccn": 1,
|
||
|
|
"nloc": 1,
|
||
|
|
"params": 1
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "if",
|
||
|
|
"file": "/tmp/tp/service/routes/auth.js",
|
||
|
|
"line": 13,
|
||
|
|
"ccn": 1,
|
||
|
|
"nloc": 1,
|
||
|
|
"params": 1
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "catch",
|
||
|
|
"file": "/tmp/tp/service/routes/auth.js",
|
||
|
|
"line": 17,
|
||
|
|
"ccn": 1,
|
||
|
|
"nloc": 1,
|
||
|
|
"params": 1
|
||
|
|
}
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"ui_widget": {
|
||
|
|
"files": [
|
||
|
|
"/tmp/tp/ui_widget/UserWidget.cpp",
|
||
|
|
"/tmp/tp/ui_widget/UserWidget.h"
|
||
|
|
],
|
||
|
|
"language": "mixed",
|
||
|
|
"total_nloc": 0,
|
||
|
|
"total_functions": 0,
|
||
|
|
"avg_ccn": 0.0,
|
||
|
|
"max_ccn": 0,
|
||
|
|
"heavy_functions_count": 0,
|
||
|
|
"heavy_functions_ratio": 0.0,
|
||
|
|
"coupling_out": 2,
|
||
|
|
"coupling_in": 0,
|
||
|
|
"instability": 1.0,
|
||
|
|
"has_cycles": false,
|
||
|
|
"dependencies": [
|
||
|
|
"database",
|
||
|
|
"ui_widget",
|
||
|
|
"utils"
|
||
|
|
],
|
||
|
|
"dependents": [],
|
||
|
|
"functions": []
|
||
|
|
},
|
||
|
|
"utils": {
|
||
|
|
"files": [
|
||
|
|
"/tmp/tp/utils/Logger.cpp",
|
||
|
|
"/tmp/tp/utils/Logger.h"
|
||
|
|
],
|
||
|
|
"language": "mixed",
|
||
|
|
"total_nloc": 0,
|
||
|
|
"total_functions": 0,
|
||
|
|
"avg_ccn": 0.0,
|
||
|
|
"max_ccn": 0,
|
||
|
|
"heavy_functions_count": 0,
|
||
|
|
"heavy_functions_ratio": 0.0,
|
||
|
|
"coupling_out": 0,
|
||
|
|
"coupling_in": 2,
|
||
|
|
"instability": 0.0,
|
||
|
|
"has_cycles": false,
|
||
|
|
"dependencies": [
|
||
|
|
"utils"
|
||
|
|
],
|
||
|
|
"dependents": [
|
||
|
|
"database",
|
||
|
|
"ui_widget"
|
||
|
|
],
|
||
|
|
"functions": []
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|