ArchiMetrics.Analysis.Metrics.TypeMetricsCalculator.CalculateAveMaintainabilityIndex C# (CSharp) Method

CalculateAveMaintainabilityIndex() private static method

private static CalculateAveMaintainabilityIndex ( IEnumerable memberMetrics ) : double
memberMetrics IEnumerable
return double
		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;
		}