UNPKG

agentsqripts

Version:

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

82 lines (73 loc) 2.33 kB
/** * @file Cleanup recommendation generation * @description Generates actionable cleanup recommendations */ /** * Generate cleanup recommendations based on analysis results * @param {Array} results - File analysis results * @param {number} averageScore - Average cleanup score * @param {number} highPriorityFiles - Number of high priority files * @returns {Array} Array of recommendations */ function generateRecommendations(results, averageScore, highPriorityFiles) { const recommendations = []; // Analyze patterns across all files let totalBarrelFiles = 0; let totalDeadCode = 0; let totalOrphanedComments = 0; // Process results efficiently using index-based iteration for (let i = 0; i < results.length; i++) { const result = results[i]; if (result.opportunities) { const opportunities = result.opportunities; for (let j = 0; j < opportunities.length; j++) { const opp = opportunities[j]; if (opp.type === 'barrel_file') totalBarrelFiles++; if (opp.type === 'dead_code') totalDeadCode++; if (opp.type === 'orphaned_comment') totalOrphanedComments++; } } } // Generate recommendations based on patterns if (totalBarrelFiles > 0) { recommendations.push({ type: 'barrel_files', priority: 'MEDIUM', description: `Consider refactoring ${totalBarrelFiles} barrel files to improve modularity`, impact: 'Medium', effort: 'Low' }); } if (totalDeadCode > 3) { recommendations.push({ type: 'dead_code', priority: 'HIGH', description: `Remove ${totalDeadCode} instances of dead code to reduce complexity`, impact: 'High', effort: 'Low' }); } if (totalOrphanedComments > 5) { recommendations.push({ type: 'orphaned_comments', priority: 'LOW', description: `Clean up ${totalOrphanedComments} orphaned comments`, impact: 'Low', effort: 'Low' }); } // Overall project recommendations if (averageScore < 60) { recommendations.push({ type: 'overall_cleanup', priority: 'HIGH', description: 'Project needs comprehensive cleanup - average score is low', impact: 'High', effort: 'High' }); } return recommendations; } module.exports = { generateRecommendations };