private static double CalculateAveMaintainabilityIndex(IEnumerable<IMemberMetric> memberMetrics)
{
var source = memberMetrics.Select(x => new Tuple<int, double>(x.LinesOfCode, x.MaintainabilityIndex)).AsArray();
if (source.Any())
{
var totalLinesOfCode = source.Sum(x => x.Item1);
return totalLinesOfCode == 0 ? 100.0 : source.Sum(x => x.Item1 * x.Item2) / totalLinesOfCode;
}
return 100.0;
}