Releases: mohamed-taman/Agile-Software-Dev-Refactoring
Releases · mohamed-taman/Agile-Software-Dev-Refactoring
Refactoring Legacy Code
This Kata is about refactoring the legacy code to simplify it, then add the new feature requests to the refactored code. At the same time, pin-down tests help us to keep the legacy code behavior not altered.
Techniques used:
- Refactoring: Extract Constant strings.
- Refactoring: Extract Constant Numbers.
- Refactoring: Extract Variable/Extract Method.
- Refactoring: Simplify Arithmetic.
- Refactoring: Simplify Booleans.
- Refactoring: Group-Related Logic.
- Refactoring: Final Touches.
- Add the new behavior to refactored code.
Stabilizing Legacy code
This Kata is about stabilizing a legacy code at hand by writing the first pin-down tests to understand its behavior before refactoring the legacy production code.
Techniques used:
- Pin-down tests from the requirements document.
- Pin-down tests based on code coverage.
- Pin-down tests based on branch coverage.
Roman Numerals Kata
This Kata is about using TDD, and refactoring techniques to solve Roman --> Arabic numerals conversion problem.