agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
15 lines (12 loc) • 593 B
JavaScript
/**
* @file Calculate logical similarity between blocks
* @description Single responsibility: Measure similarity in code logic/complexity
*/
function calculateLogicalSimilarity(blocks) {
// Compare complexity and dependencies
const complexities = blocks.map(b => b.complexity);
const avgComplexity = complexities.reduce((a, b) => a + b) / complexities.length;
const complexityVariance = complexities.reduce((sum, c) => sum + Math.abs(c - avgComplexity), 0) / complexities.length;
return 1 - (complexityVariance / avgComplexity);
}
module.exports = calculateLogicalSimilarity;