Considere as seguintes afirmativas a respeito de refatoração...

Próximas questões
Com base no mesmo assunto
Q1861924 Engenharia de Software
Considere as seguintes afirmativas a respeito de refatoração (refactoring).

I. Refatoração é o processo de modificação de um software para aprimorar sua estrutura, porém sem alterar seu comportamento externo.
II. A transferência de um método ou atributo de sua classe original para uma subclasse ou superclasse caracteriza uma ação de refatoração.
III. Criar uma nova classe em um programa caracteriza uma ação de refatoração.
IV. Criar uma interface web, idêntica à interface original, para um programa que não foi inicialmente desenvolvido como aplicação web caracteriza uma ação de refatoração.

Assinale a alternativa CORRETA.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E - Somente as afirmativas I, II e III estão corretas.

Para entender a questão e chegar à resposta correta, é preciso conhecer o conceito de refatoração na Engenharia de Software. Refatoração é uma técnica usada para alterar a estrutura interna do código sem mudar seu comportamento externo, com o objetivo de torná-lo mais legível, manutenível e extensível. Vamos analisar cada uma das afirmativas que levam à resposta correta:

I. Refatoração é o processo de modificação de um software para aprimorar sua estrutura, porém sem alterar seu comportamento externo.

Essa afirmativa está correta. É justamente a definição de refatoração. Este processo busca melhorar o design do código-fonte, facilitar o entendimento e ajudar na prevenção de defeitos, sem alterar a funcionalidade do programa.

II. A transferência de um método ou atributo de sua classe original para uma subclasse ou superclasse caracteriza uma ação de refatoração.

Essa afirmativa também está correta. Mover métodos ou atributos para uma superclasse (generalização) ou subclasse (especialização) são exemplos clássicos de refatoração para promover um melhor reuso de código e maior coesão nas classes.

III. Criar uma nova classe em um programa caracteriza uma ação de refatoração.

Novamente, esta afirmativa é correta. Criar uma nova classe pode ser parte da refatoração para separar responsabilidades, reduzindo assim o acoplamento e aumentando a coesão dentro do design do software.

Com relação à afirmativa IV, Criar uma interface web, idêntica à interface original, para um programa que não foi inicialmente desenvolvido como aplicação web, isso vai além de uma refatoração. Esse processo envolve a criação de uma nova representação para a aplicação e pode incluir alterações significativas na forma como a aplicação é usada e entregue aos usuários, podendo impactar o comportamento externo do software. Portanto, essa afirmativa é incorreta.

Em resumo, as afirmativas I, II e III alinham-se com o conceito de refatoração, onde buscamos melhorar a estrutura do código sem alterar seu comportamento funcional. A afirmativa IV não se encaixa nesse conceito, pois implica em mudanças que potencialmente alteram o comportamento externo da aplicação. Por essas razões, a alternativa E é a correta.

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

GAB E

Item II fala das técnicas de pull up e push down

Item III forçou demais, pois dá a entender que se trata de uma nova funcionalidade. Mas provavelmente tá tentando falar da técnica Extract Class, que extrai parte de uma classe grande e transforma em uma nova classe.

item 3 péssimo e eu discordo que se refira a extract class de forma inequívoca. errei mesmo sabendo esta parte da matéria

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo