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
JavaScript
/**
* @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
};