Acerca do tema refatoração de software, considere as afirmat...
Acerca do tema refatoração de software, considere as afirmativas.
I A refatoração busca evoluir o projeto e código-fonte de um sistema de software para se alcançar alta coesão, isto é, suas classes devem possuir conjuntos extensos de responsabilidades.
II A refatoração busca evoluir o projeto e código-fonte de um sistema de software para alcançar baixo acoplamento, isto é, a colaboração entre as classes deve ser mantida em um nível mínimo aceitável.
III A refatoração é o processo de mudar um sistema de software de tal forma que não altere o comportamento externo do código-fonte, embora melhore sua estrutura interna.
Está(ão) correta(s)
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a letra E: II e III, somente.
A refatoração é uma técnica de engenharia de software que visa melhorar o design, a estrutura e a implementação do código-fonte de um software, mantendo seu comportamento externo inalterado. Para resolver esta questão, é fundamental compreender os princípios de alta coesão e baixo acoplamento, além de entender o conceito fundamental da refatoração.
A primeira afirmativa está incorreta porque alta coesão significa que uma classe deve ter um conjunto de responsabilidades bem definido e focado, e não extensas responsabilidades como sugerido. Alta coesão facilita a manutenção e a compreensão do código.
A segunda afirmativa é correta e destaca que um dos objetivos da refatoração é alcançar um baixo acoplamento, o que significa que as classes devem interagir o mínimo possível umas com as outras. Baixo acoplamento aumenta a modularidade do software e simplifica os testes e a manutenção.
A terceira afirmativa também é correta, pois captura a essência da refatoração: modificar a estrutura interna do software sem alterar seu comportamento externo. Isso permite aprimorar a qualidade do código sem afetar a funcionalidade que o programa fornece aos usuários.
Portanto, as afirmações II e III estão alinhadas com a prática correta de refatoração de software, justificando a escolha da alternativa E como a resposta correta para esta questão.
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
I A refatoração busca evoluir o projeto e código-fonte de um sistema de software para se alcançar alta coesão, isto é, suas classes devem possuir conjuntos extensos de responsabilidades. (Na verdade ter alta coesão é ter apenas uma única responsabilidade e realizá-la de maneira satisfatória).
RESP: E
Em programação orientada a objetos (POO), o acoplamento é o grau de dependência entre dois ou mais módulos de software. Ele é medido pela quantidade de influência que um módulo tem sobre outro.
Um acoplamento alto indica que dois módulos estão intimamente ligados. Isso pode dificultar a manutenção do software, pois qualquer mudança em um módulo pode afetar o outro.
Um acoplamento baixo indica que dois módulos estão fracamente ligados. Isso facilita a manutenção do software, pois mudanças em um módulo não afetam necessariamente o outro.
Existem vários tipos de acoplamento, incluindo:
- Acoplamento de dados: Ocorre quando um módulo depende dos dados de outro módulo.
- Acoplamento de controle: Ocorre quando um módulo depende da ordem de execução de outro módulo.
- Acoplamento de interface: Ocorre quando um módulo depende da interface de outro módulo.
- Acoplamento de dependência: Ocorre quando um módulo depende de um outro módulo para sua implementação.
O acoplamento é um conceito importante em POO, pois pode afetar a qualidade do software. Um acoplamento alto pode tornar o software mais difícil de manter, testar e estender.
Aqui estão algumas dicas para reduzir o acoplamento em POO:
- Use interfaces: As interfaces fornecem uma abstração de como um módulo deve se comportar. Isso pode ajudar a reduzir o acoplamento de controle e de interface.
- Use abstração: A abstração pode ajudar a reduzir o acoplamento de dados e de dependência.
- Use composição: A composição é uma forma de combinar objetos. Isso pode ajudar a reduzir o acoplamento de dados e de dependência.
- Use refatoração: A refatoração pode ajudar a melhorar o acoplamento de um sistema existente.
A redução do acoplamento pode levar a um software de melhor qualidade, mais fácil de manter e estender.
Fonte: Bard
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo