| 6 |
5 d 7 h |
rodolico |
/trunk/ |
Version 1.2.0: Add config comparison, key renaming, and code refactoring
Added major new features and improved code maintainability:
Features:
- Config file comparison mode (-C/--compare): Load multiple config files
and generate detailed reports showing all differences including missing
keys, type mismatches, and differing values
- Hash key renaming in interactive edit mode: Press 'r' to rename keys
while preserving their values and nested structures
- Enhanced comparison output format to show "key: path [TYPE]" for better
clarity when reviewing differences
Code Quality Improvements:
- Refactored compareConfigs (216→50 lines) by extracting 6 helper functions
for value collection, formatting, type checking, and comparison logic
- Refactored editHash (101→46 lines) by extracting add/delete/rename
operations into dedicated functions
- Refactored editArray (95→45 lines) by extracting add/delete/scalar-edit
operations into dedicated functions
- Applied Single Responsibility Principle and DRY principles throughout
- Reduced cyclomatic complexity and improved testability
Documentation:
- Updated perlConfigFileUtility.md with comparison examples and use cases
- Added interactive editor 'r' command documentation
- Updated version history and feature list
- Created WorkingNotes.md documenting refactoring criteria and rationale
based on industry standards (Clean Code, Code Complete, etc.)
Modified Files:
- perlConfigFileUtility (script)
- perlConfigFileUtility.md (documentation)
- WorkingNotes.md (new file)
Backward compatibility maintained. All existing functionality preserved. |
|
/trunk/perlConfigFileUtility /trunk/perlConfigFileUtility.md
|