This repository aims to refactor GildedRose Kata for teaching refactoring. The refactored code addresses numerous code smells present in the original implementation, including:
The code to refactor is available here.
The following refactoring techniques were used:
- Move method
- Replace temp with query
- Rename method
- Extract method
- Replace constructor with factory method
- Replace conditional with polymorphism --> Conditionals were replaced with appropriate abstractions containing HashMap.
- This repository does not implement any feature mentioned in the GildedRose Kata.
- This repository does not implement solitary unit-tests. All the unit-tests are sociable.