agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
39 lines (33 loc) • 976 B
JavaScript
/**
* @file Code duplication detection
* @description Identifies code duplication patterns
*/
/**
* Identifies code duplication patterns
* @param {string} content - File content
* @returns {Object} Duplication analysis
*/
function identifyDuplication(content) {
const lines = content.split('\n').map(line => line.trim()).filter(line => line.length > 0);
let duplicateLines = 0;
const duplicates = [];
// Simple line-based duplication detection
const lineMap = new Map();
lines.forEach((line, index) => {
if (line.length < 10 || line.startsWith('//') || line.startsWith('/*')) return;
if (lineMap.has(line)) {
duplicateLines++;
duplicates.push({ line: index + 1, content: line });
} else {
lineMap.set(line, index);
}
});
return {
score: lines.length > 0 ? duplicateLines / lines.length : 0,
lines: duplicates,
duplicateCount: duplicateLines
};
}
module.exports = {
identifyDuplication
};