Fix issue #73: Complete variable name validator improvements with systematic refactoring#77
Merged
devill merged 2 commits intodevill:mainfrom Aug 12, 2025
Conversation
… quality - Fix missing case in name conflict detection (y->x rename now properly fails) - Add parent scope checking to VariableNameValidator to detect conflicts with variables in ancestor scopes - Add test case for child-scope-conflict scenario - Extract common addNameIfIdentifier pattern to reduce duplication - Refactor oversized addDirectVariableNames method into smaller focused methods - Update unit test expectations to reflect new correct parent scope checking behavior - Fix quality violations: remove comments, eliminate ESLint any type usage 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
… document systematic refactoring technique - Inlined all single-use variables using bottom-up approach to avoid line number conflicts - Reduced test file from 230 to 154 lines while maintaining all functionality - Removed file from quality baseline to enforce zero violations - Fixed duplicate file creation issues by using unique test file names - Added systematic refactoring guidance to REFACTORING_STYLE.md for future reference 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
0be3e09 to
199a4b9
Compare
Owner
|
Thanks for the PR! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR completes the fix for issue #73 (rename conflict detection) and includes comprehensive improvements to the variable name validator with quality enhancements.
Key Changes
🔧 Issue #73 Fix - Parent Scope Conflict Detection
addParentScopeVariableNames()method to traverse all ancestor scopes🧹 Code Quality Improvements
variable-name-validator.test.tsusing systematic bottom-up approach📚 Documentation & Knowledge Preservation
REFACTORING_STYLE.mdTest Coverage
Before/After
Before:
y→xrename incorrectly succeeded whenxexisted in parent scopeAfter:
y→xrename correctly fails with clear error message🤖 Generated with Claude Code