agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
42 lines (34 loc) • 1.17 kB
JavaScript
/**
* @file Generate generic refactoring recommendation
* @description Single responsibility: Create fallback recommendation for duplicate code
*/
const calculateLinesReduced = require('./calculateLinesReduced');
function generateGenericRecommendation(group, projectContext) {
const { blocks, pattern, similarity } = group;
return {
type: 'GENERIC_REFACTORING',
title: 'Refactor duplicate code',
description: `${blocks.length} blocks of similar code (${Math.round(similarity * 100)}% similarity)`,
impact: {
linesReduced: calculateLinesReduced(blocks),
filesAffected: new Set(blocks.map(b => b.file)).size,
maintainability: 'MEDIUM',
effort: 'MEDIUM'
},
implementation: {
approach: 'Extract common logic into reusable component',
pattern: pattern || 'similar_logic'
},
affectedFiles: blocks.map(b => ({
file: b.file,
lines: `${b.startLine}-${b.endLine}`
})),
benefits: [
'Reduced code duplication',
'Easier maintenance',
'Consistent behavior',
'Improved testability'
]
};
}
module.exports = generateGenericRecommendation;