UNPKG

agentsqripts

Version:

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

40 lines (33 loc) 1.3 kB
/** * @file Generate parameterized function recommendation * @description Single responsibility: Create recommendation for parameterizing functions */ const analyzeDifferences = require('./analyzeDifferences'); const inferRequiredParameters = require('./inferRequiredParameters'); function generateParameterizedFunctionRecommendation(group, projectContext) { const { blocks } = group; const differences = analyzeDifferences(blocks); const parameters = inferRequiredParameters(blocks, differences); return { type: 'PARAMETERIZE_FUNCTION', title: 'Create parameterized function', description: `${blocks.length} similar functions can be consolidated with parameters`, impact: { linesReduced: blocks.reduce((sum, b) => sum + (b.endLine - b.startLine), 0) * 0.7, filesAffected: new Set(blocks.map(b => b.file)).size, maintainability: 'HIGH', effort: 'LOW' }, implementation: { suggestedParameters: parameters, description: 'Replace hardcoded values with parameters' }, benefits: [ 'Flexible, reusable function', 'Reduced duplication', 'Easier to test with different inputs', 'Single point of maintenance' ] }; } module.exports = generateParameterizedFunctionRecommendation;