calculateOverallScore calculates overall analysis score
()
| 438 | |
| 439 | // calculateOverallScore calculates overall analysis score |
| 440 | func (a *SQLAnalyzer) calculateOverallScore() int { |
| 441 | securityScore := a.calculateSecurityScore() |
| 442 | performanceScore := a.PerformanceScore |
| 443 | |
| 444 | // Weight: 40% security, 40% performance, 20% complexity |
| 445 | complexityPenalty := int(a.ComplexityMetrics.ComplexityScore * 2) |
| 446 | complexityScore := 100 - complexityPenalty |
| 447 | if complexityScore < 0 { |
| 448 | complexityScore = 0 |
| 449 | } |
| 450 | |
| 451 | return (securityScore*40 + performanceScore*40 + complexityScore*20) / 100 |
| 452 | } |
| 453 | |
| 454 | // generateRecommendations generates actionable recommendations |
| 455 | func (a *SQLAnalyzer) generateRecommendations() []string { |
no test coverage detected