UNPKG

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
/** * @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;