public static double CalculateDefectCodeDensity(this CodeBlockSelectionExpression code) { code = code.Added().Fixed(); return CalculateDefectCodeDensity( code.CalculateLOC(), code.CalculateDefectCodeSize() ); }
/// <summary> /// Calculates traditional defect density for specified code. /// Total code size is LOC at the moment /// (added code minus removed code). /// </summary> /// <param name="code">Code set to calc metric for.</param> /// <returns>Defect density.</returns> public static double CalculateTraditionalDefectDensity(this CodeBlockSelectionExpression code) { code = code.Added().Fixed(); return CalculateDefectDensity( code.CalculateLOC() + code.ModifiedBy().Deleted().CalculateLOC(), code.CalculateNumberOfDefects() ); }
public static double CalculateDefectCodeDensity(this CodeBlockSelectionExpression code, string revision) { code = code .Commits().TillRevision(revision) .CodeBlocks().Again().AddedInitiallyInCommits().Fixed(); return CalculateDefectCodeDensity( code.CalculateLOC(), code.CalculateDefectCodeSize(revision) ); }
public static double CalculateTraditionalDefectDensity(this CodeBlockSelectionExpression code, string revision) { code = code .Commits().TillRevision(revision) .CodeBlocks().Again().AddedInitiallyInCommits().Fixed(); return CalculateDefectDensity( code.CalculateLOC() + code .Modifications().InCommits() .CodeBlocks().Again().ModifiedBy().Deleted().InModifications().CalculateLOC(), code.CalculateNumberOfDefects(revision) ); }