healthScore property
double
get
healthScore
Overall project health score (0-100).
Implementation
double get healthScore {
if (projectMetrics.functionCount == 0) return 100;
// Weight: 40% rating distribution, 30% average MI, 30% violation ratio
final ratingScore = ratingDistribution.goodPercent * 0.4 +
ratingDistribution.moderatePercent * 0.2;
final miScore = (projectMetrics.maintainabilityIndex.mean / 100) * 30;
final violationRatio =
1 - (violations.length / projectMetrics.functionCount);
final violationScore = violationRatio * 30;
return (ratingScore + miScore + violationScore).clamp(0, 100);
}