O'Reilly logo
  • Rafael Chagas thinks this is interesting:

Refactorings preserve behavior

The latter part of the earlier quote by Martin Fowler says, “without changing [code’s] external behavior.” What does that mean? It means that whatever transformations you apply to the existing code, those transformations should only affect the code’s design and structure—not its externally visible behavior or functionality. In other words, client code that uses the code you’re refactoring should not notice any difference in how the refactored code behaves.

Renaming a method that’s part of a class’s public i...