agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
27 lines (24 loc) • 831 B
JavaScript
/**
* @file Savings calculation utilities
* @description Responsible for calculating estimated savings from deduplication
*/
/**
* Calculates estimated savings from deduplication
* @param {Object} group - Duplicate group
* @returns {Object} Savings estimates
*/
function calculateEstimatedSavings(group) {
const totalLines = group.blocks.reduce((sum, block) => sum + block.lineCount, 0);
const uniqueFiles = new Set(group.blocks.map(b => b.file)).size;
const duplicateLines = totalLines - group.blocks[0].lineCount; // Keep one copy
return {
linesReduced: duplicateLines,
filesAffected: uniqueFiles,
complexityReduction: group.complexity * (group.blocks.length - 1),
estimatedEffort: group.pattern.effort,
impact: group.pattern.impact
};
}
module.exports = {
calculateEstimatedSavings
};