A letra E foi específica demais. Refatoração não é só isso. Melhorar uma funcionalidade, padronizar códigos, melhorar a coesão... Tudo isso é refatoração. Vejam a definição do Fowler, que se encaixa melhor com a alternativa D.
"Refatoração é o processo de alterar o código fonte de uma maneira que não altere seu comportamento externo e ainda melhore a sua estrutura interna. É uma técnica disciplinada de limpar e organizar o código, e por consequência minimizar a chance de introduzir novos bugs". – Martin Fowler
Tem pelo menos 12 técnicas de refatoração. A CESPE resumiu em uma
- Extrair Método (Extract Method
- Mover Método (Move Method)
- Mover Atributo (Move Field')
- Extrair Classe (Extract Class)
- Encapsular Atributo (Encapsulate Field)
- Renomear Método (Rename Method)
- Subir Método (Pull Up Method)
- Subir Atributo (Pull Up Field)
- Descer Método (Push Down Method)
- Descer Atributo (Push Down Field)
- Extrair Sub-classe (Extract Subclass)
- Extrair Super-classe (Extract Superclass)