UNPKG

pi-lens

Version:

Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo

54 lines (43 loc) • 1.17 kB
# Variable Shadowing # Detects when a local variable name shadows a function parameter id: variable-shadowing name: Variable Shadowing severity: warning category: maintainability defect_class: safety inline_tier: review language: typescript message: "Variable '{{NAME}}' shadows a parameter — use a distinct name" description: | Declaring a variable with the same name as a parameter makes it impossible to tell which binding is being used. ✅ FIX: Rename the inner variable to something descriptive. query: | (function_declaration parameters: (formal_parameters (required_parameter pattern: (identifier) @PARAM)) body: (statement_block (lexical_declaration (variable_declarator name: (identifier) @NAME)))) metavars: - PARAM - NAME post_filter: name_matches_param has_fix: false tags: - maintainability - readability - variable-shadowing examples: bad: | function process(data) { const data = transform(data); // ← shadows parameter return data; } good: | function process(data) { const transformed = transform(data); return transformed; }