A prática de refactoring resulta em uma versão que altera o...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Vamos analisar a questão que trata de refactoring e como ele é aplicado no desenvolvimento de software. A prática de refactoring consiste em melhorar o código interno do software sem alterar seu comportamento externo. Ou seja, ao fazer refactoring, o que muda é a estrutura do código para torná-lo mais limpo, legível e mais fácil de manter, mas as funcionalidades que o código oferece não mudam.
No enunciado, é afirmado que o refactoring altera o comportamento externo do código. Isso está incorreto. Portanto, a alternativa correta é E - errado.
Vamos entender mais a fundo os conceitos envolvidos:
- Refactoring: É um processo principalmente focado em melhorar a legibilidade, manutenibilidade e estrutura do código sem alterar seu comportamento para o usuário final.
- Comportamento externo: Refere-se a como o software se comporta do ponto de vista do usuário. Isso inclui as funcionalidades que ele oferece e como ele interage com outros sistemas.
A questão corretamente identifica que o objetivo do refactoring é melhorar aspectos como desempenho e manutenibilidade, mas erroneamente menciona a alteração do comportamento externo, o que não acontece.
Em resumo, lembre-se de que refactoring é como organizar uma biblioteca: você arruma os livros nas prateleiras e limpa a poeira, mas não muda o conteúdo dos livros.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Errado
Refatoração é o processo de modificar um sistema de software para melhorar a estrutura interna do código sem alterar o seu comportamento externo
Errado. Externo, não!
O conceito fundamental de Refactoring (ou Refatoração) é:
“Alterar a estrutura interna do código, sem alterar seu comportamento externo.”
(Refactoring: Improving the Design of Existing Code - Martin Fowler)
Refatoração Promove:
- Melhor legibilidade
- Melhor organização
- Redução de dívidas técnicas
- Facilidade de manutenção e testes
- Eventual melhora em desempenho (como efeito colateral, não como objetivo principal)
OBS: Sem modificar o que o software faz para o usuário final.
Imagine que um método soma faz parte de outro método que faz uma série de outras ações, alem de somar:
public double soma(double a, double b) {
return a + b;
}
Após a refatoração:
public class Calculadora {
public double somar(double a, double b) {
return a + b;
}
public double subtrair(double a, double b) {
return a - b;
}
public double multiplicar(double a, double b) {
return a * b;
}
public double dividir(double a, double b) {
if (b == 0) {
throw new IllegalArgumentException("Divisão por zero não é permitida.");
}
return a / b;
}
}
errado, não alterar o comportamento externo do código, o comportamento interno
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo