O'Reilly logo
  • Sebastian Puente thinks this is interesting:

The fundamental goals of refactoring are the improvement of system structure and the avoidance of code duplication. These goals are impossible to achieve in the absence of well-designed APIs for the components of the system.

From

Cover of Effective Java, Third Edition

Note

About refactoring