Skip to content

Releases: mohamed-taman/Agile-Software-Dev-Refactoring

Refactoring Legacy Code

30 Sep 16:12
Compare
Choose a tag to compare

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:

  1. Refactoring: Extract Constant strings.
  2. Refactoring: Extract Constant Numbers.
  3. Refactoring: Extract Variable/Extract Method.
  4. Refactoring: Simplify Arithmetic.
  5. Refactoring: Simplify Booleans.
  6. Refactoring: Group-Related Logic.
  7. Refactoring: Final Touches.
  8. Add the new behavior to refactored code.

Stabilizing Legacy code

26 Sep 12:39
Compare
Choose a tag to compare

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

16 Sep 14:53
Compare
Choose a tag to compare

This Kata is about using TDD, and refactoring techniques to solve Roman --> Arabic numerals conversion problem.