UNPKG

agentsqripts

Version:

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

44 lines (36 loc) 1.71 kB
/** * @file Refactoring recommendation generator * @description Generates recommendations for refactoring improvements */ /** * Generate recommendations for refactoring improvements * @param {Object} opportunityBreakdown - Breakdown of opportunity types * @param {Object} priorityBreakdown - Breakdown by priority * @param {Object} utilityStats - Utility file statistics * @returns {Array} Array of recommendations */ function generateRefactoringRecommendations(opportunityBreakdown, priorityBreakdown, utilityStats) { const recommendations = []; if (priorityBreakdown.HIGH > 0) { recommendations.push(`PRIORITY: Address ${priorityBreakdown.HIGH} high-priority refactoring opportunities`); } if (opportunityBreakdown.export_promotion > 0) { recommendations.push(`Consider promoting ${opportunityBreakdown.export_promotion} utility functions to exports for better reusability`); } if (opportunityBreakdown.barrel_file_creation > 0) { recommendations.push(`Create ${opportunityBreakdown.barrel_file_creation} index files to improve import organization`); } if (utilityStats.totalUnexportedItems > 0) { const exportRatio = utilityStats.totalExportedItems / (utilityStats.totalExportedItems + utilityStats.totalUnexportedItems); if (exportRatio < 0.5) { recommendations.push(`Low utility export ratio (${Math.round(exportRatio * 100)}%) - consider exporting more utility functions`); } } if (recommendations.length === 0) { recommendations.push('Code organization is well-structured - no significant refactoring opportunities detected'); } return recommendations; } module.exports = { generateRefactoringRecommendations };