UNPKG

agentsqripts

Version:

Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems

33 lines (27 loc) 935 B
/** * @file Group complexity calculation * @description Responsible for calculating complexity scores for duplicate groups */ /** * Calculate complexity score for a duplicate group * @param {Object} group - Duplicate group * @returns {number} Complexity score */ function calculateGroupComplexity(group) { // Simple complexity calculation based on: // - Number of lines // - Presence of control structures // - Number of variables/functions const avgLines = group.blocks.reduce((sum, block) => sum + block.lines.length, 0) / group.blocks.length; const controlStructures = group.blocks[0].content.match( /(if|for|while|switch|try|catch)/g )?.length || 0; const variables = group.blocks[0].content.match( /(const|let|var|function)/g )?.length || 0; return Math.min(100, (avgLines * 2) + (controlStructures * 5) + (variables * 3)); } module.exports = { calculateGroupComplexity };