Questões de Refatoração (Engenharia de Software)

Limpar Busca

Várias abordagens que apoiam o reúso estão disponíveis a gerentes de projeto. Entre elas está a abordagem usada quando componentes compartilhados são entrelaçados em uma aplicação em diferentes lugares durante a compilação do programa.
A abordagem descrita é a de

  • A padrões de projeto
  • B padrão de arquitetura
  • C frameworks de aplicação
  • D integração de sistemas de aplicação
  • E desenvolvimento de software orientado a aspectos

A refatoração é o processo de modificar trechos de código com o objetivo de melhorar seu entendimento. Sobre as técnicas utilizadas para refatoração é correto afirmar que

  • A “Extract method” e “Inline method” são técnicas que removem métodos existentes.
  • B a técnica "Extract Method" renomeia um método, enquanto a "Inline Method" move um método para uma classe diferente.
  • C a técnica "Extract Method" cria um método a partir de um trecho de código inline, enquanto a "Inline Method" remove um método e o substitui por um código inline.
  • D a técnica "Extract Method" remove um método e o substitui por um código inline, enquanto a "Inline Method" cria um método a partir de um trecho de código inline.

Marcos está efetuando a manutenção de um sistema e notou que em diversos pontos são efetuadas chamadas HTTP para diferentes servidores, utilizando configurações específicas. Ele resolveu refatorar o código, criando uma classe que oferece métodos para cada elemento da configuração, os quais podem ser combinados para gerar um conector personalizado para cada servidor acessado.
Adotando essa abordagem, Marcos aumentou o reuso de processos intermediários na construção de objetos complexos, de acordo com o padrão:

  • A Singleton;
  • B Mediator;
  • C Builder;
  • D Observer;
  • E Chain of Responsibility.
Em relação ao refactoring no contexto de testes de software, assinale a alternativa que apresenta uma prática recomendada para garantir a qualidade e a manutenibilidade do código.
  • A Realizar refactoring apenas quando houver bugs no código, ignorando a legibilidade e a estrutura. 
  • B Evitar o uso de testes automatizados, pois podem atrasar o processo de refactoring. 
  • C Realizar refactoring apenas no início de um projeto de desenvolvimento de software, antes de adicionar novas funcionalidades. 
  • D Fazer refactoring sem executar testes após as mudanças, pois o processo de refactoring não deve alterar o comportamento do código. 
  • E Realizar refactoring em pequenos passos, garantindo que os testes continuem passando após cada mudança. 

Dentro das metodologias ágeis, o processo de desenvolvimento de software especificado pela Programação Extrema (eXtreme Programming, XP) possui algumas características específicas. Uma das características do XP versa sobre as necessidades de melhoria no projeto, que devem ser realizadas através de um tipo de processo específico para este fim. Assinale a alternativa com o nome deste tipo de processo.

  • A Testes.
  • B Refatoração.
  • C Histórias do Usuário.
  • D Programação em Pares.