agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
27 lines (24 loc) • 869 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 || 2,
impact: group.pattern?.impact || 'Unknown savings potential'
};
}
module.exports = {
calculateEstimatedSavings
};