Refactoring é o processo que
- A implementa todas as funcionalidades da camada de model para depois implementar as camadas de controller e de viewer, nos casos em que a arquitetura M V C é utilizada.
- B efetua mudanças em um código existente e funcional sem alterar seu comportamento externo, com o objetivo de aprimorar a estrutura interna do código.
- C inclui funcionalidades extras no código, com o intuito de aprimorá-lo (rich source-code).
- D aprimora a extração e o refinamento iterativo dos requisitos do produto ainda na fase de planejamento do software, sendo considerado um valor na X P (extreme programming).
- E estabelece os métodos, um após o outro, para depois definir as classes e suas abstrações e implementar as interfaces.