Thoughts about Feature Envy and path to follow when refactoring legacy code
authorGustavo Martin Morcuende <gustavo.martin@scmspain.com>
Thu, 24 Nov 2016 01:12:29 +0000 (02:12 +0100)
committerGustavo Martin Morcuende <gustavo.martin@scmspain.com>
Thu, 24 Nov 2016 01:12:29 +0000 (02:12 +0100)
commitb92b7d088362bf587194a2538fac50fdf8435aa3
tree0d57f3b4143428a616a301d10ec2bd84c20f0baa
parentb2dc481160ad95e8e10ee3ce64b2ec160e2b5f85
Thoughts about Feature Envy and path to follow when refactoring legacy code

1. When writing tests for legacy code we go from shortest to deepest branches.
2. When refactoring legacy code (handmade modifications) we go from deepest to shortest branches (just the opposite)

Feauture envy: some class (TripService) wants to do some action that should be implemented by another class which we
are using to extract the data and perform some action. Data and action should be done by the same class (User)
TDD/src/main/java/org/craftedsw/tripservicekata/trip/TripService.java