UNPKG

agentsqripts

Version:

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

82 lines (79 loc) 3.21 kB
/** * @file WET code pattern definitions for duplicate code detection and deduplication assessment * @description Single responsibility: Define WET code patterns with effort, impact, and categorization metrics * * This configuration module defines comprehensive patterns for detecting "Write Everything Twice" * anti-patterns in codebases. It provides structured definitions with effort estimation, impact * quantification, and deduplication categorization to support AI-driven code optimization and * technical debt reduction workflows. * * Design rationale: * - Pattern categorization enables targeted deduplication strategies * - Effort estimation guides resource allocation for optimization projects * - Impact quantification enables ROI-based deduplication prioritization * - Severity classification helps focus on highest-value opportunities * - Consistent structure supports automated deduplication workflow integration */ // WET Code Pattern Constants /** * WET code pattern definitions with comprehensive deduplication metrics * * Pattern structure rationale: * - effort: Implementation complexity (1=easy, 2=moderate, 3=complex) * - impact: Quantified code reduction potential with percentage ranges * - severity: Risk/priority level (HIGH=immediate value, MEDIUM=good opportunity, LOW=minor benefit) * - category: Deduplication approach classification for strategy selection * * Pattern categories explained: * - Exact Match: Identical code blocks requiring simple extraction * - Similar Logic: Near-duplicates needing parameterization or abstraction * - Pattern: Repeated structures requiring architectural abstraction * - Copy-Paste: Copied code sections needing consolidation * - Boilerplate: Repetitive setup code benefiting from templating/generation * * Effort levels defined: * - Level 1: Simple extraction, function creation, parameter passing * - Level 2: Moderate refactoring, abstraction design, interface creation * - Level 3: Complex architectural changes, template systems, code generation * * Impact quantification methodology: * - Code reduction percentages based on empirical analysis of common patterns * - Range values account for variability in implementation complexity * - Higher percentages indicate more significant deduplication opportunities * - Impact metrics guide prioritization in resource-constrained environments */ const WET_PATTERNS = { 'exact_duplicate': { effort: 1, impact: '90-100% code reduction for duplicated sections', severity: 'HIGH', category: 'Exact Match' }, 'similar_logic': { effort: 2, impact: '60-80% code reduction with parameterization', severity: 'MEDIUM', category: 'Similar Logic' }, 'repeated_pattern': { effort: 2, impact: '50-70% reduction through abstraction', severity: 'MEDIUM', category: 'Pattern' }, 'copy_paste': { effort: 1, impact: '80-95% elimination through extraction', severity: 'HIGH', category: 'Copy-Paste' }, 'boilerplate': { effort: 3, impact: '40-60% reduction with templates/generators', severity: 'LOW', category: 'Boilerplate' } }; module.exports = { WET_PATTERNS };