Change structure without changing behaviour: identifying the seam, characterising with tests first, and stopping before the refactor becomes a rewrite.
Change structure without changing behaviour: identifying the seam, characterising with tests first, and stopping before the refactor becomes a rewrite.