Guia de Refatoração, Métricas e Testes Unitários com JUnit

Classificado em Computação

Escrito em em português com um tamanho de 3,37 KB

Refatoração e Qualidade de Código

  1. Foi feita refatoração para impedir o bad smell de mapeamento mental? Justifique. Sim. Por padrão, utilizavam-se sempre as variáveis i ou j em laços for. O código foi alterado para tornar a leitura mais clara e intuitiva.
  2. Ocorreram refatorações de comentários? Quais? Sim. Comentários desnecessários no método VerificaPorDestino foram removidos para limpar o código.
  3. Foi necessária alguma refatoração de extração de método? Sim. O código foi otimizado através da criação de dois métodos para substituir trechos repetidos: mostrarTodosOsVoos e verificarOrigem.

Métricas de Software e Complexidade Ciclomática

  1. O que são métricas? São medidas utilizadas como base para a criação de indicadores de desempenho e qualidade.
  2. Por que usar métricas? Auxiliam na gestão de projetos de software, aumentando a qualidade do produto final e garantindo que os requisitos sejam atendidos.
  3. Explique a métrica Complexidade Ciclomática. É uma métrica que indica a complexidade de um programa, medindo o número de caminhos independentes no código.
  4. Onde a Complexidade Ciclomática é aplicada? É aplicada em módulos (partes menores de um sistema), métodos e classes.
  5. Há um número ideal para a complexidade de um método? Não existe um número ideal, porém, valores de complexidade ciclomática entre 20 e 30 são considerados excessivamente altos.
  6. Qual a relação entre refatoração e Complexidade Ciclomática? A refatoração visa reduzir essa complexidade para tornar o código mais limpo, confiável e fácil de manter.

Testes Unitários com JUnit

  1. Qual o objetivo da anotação @Test? Indicar ao JUnit que o método anotado é um caso de teste.
  2. Diferença entre assertEquals() e fail(): O assertEquals() verifica se o valor retornado corresponde ao esperado; o fail() é utilizado para indicar falhas ou exceções inesperadas.
  3. Diferença entre assertTrue() e assertFalse(): O assertTrue() verifica se o retorno do método é verdadeiro, enquanto o assertFalse() verifica se é falso.
  4. Diferença entre setup() e tearDown(): O setup() é utilizado para inicializar objetos, enquanto o tearDown() é usado para limpar recursos após os testes.
  5. O que é um Test Suite? É um conjunto de testes agrupados para execução conjunta.
  6. Como utilizar um Test Suite? Novos testes são adicionados à suíte conforme criados. O comando Run as JUnit Test executa todos os testes da suíte e gera um relatório.
  7. Qual a função da anotação @RunWith(Suite.class)? Iniciar a execução da suíte de testes.
  8. Qual a função da anotação @SuiteClasses? Informar quais classes de teste pertencem à suíte.

Entradas relacionadas: