Pular para o conteúdo
Próxima aulaGerenciamento de Dependências

Exercício 07: Identificação e Correção de Code Smells

Exercício - Identificação e Correção de Code Smells

Seção intitulada “Exercício - Identificação e Correção de Code Smells”

Dando continuidade ao exercício anterior, cada grupo vai analisar os códigos produzidos pela turma. Os projetos foram reunidos em um único pacote, anonimizado: as pastas foram renomeadas para projeto01 … projeto09 e as fichas de identificação (grupo, integrantes, smell e categoria) foram removidas. Só permanecem a linguagem, o domínio, a forma de execução, a intenção do código e a saída esperada.

📦 Pacote da turma: code-smells-turma-2026-2.zip

As equipes permanecem as mesmas do Exercício 06.

Para cada um dos 9 projetos do pacote, a equipe deve:

  • Identificar o code smell principal do código;
  • Justificar a identificação, explicando em que trecho/estrutura do código o smell aparece e por que ele caracteriza aquele padrão;
  • Propor uma correção, descrevendo a refatoração que elimina (ou reduz) o smell, preservando o comportamento original do programa.

Use exatamente os nomes abaixo ao identificar o smell. Cada projeto tem um smell dominante; escolha apenas um por projeto.

  • Método Longo, Classe Grande
  • Obsessão por Primitivos, Lista Longa de Parâmetros, Agrupamentos de Dados
  • Classes Alternativas com Interfaces Diferentes, Recusa de Herança
  • Comandos Switch, Campo Temporário
  • Mudança Divergente, Cirurgia de Espingarda, Hierarquias de Herança Paralelas
  • Comentários, Código Duplicado, Código Morto
  • Classe Preguiçosa, Classe de Dados, Generalidade Especulativa
  • Inveja de Função, Intimidade Inapropriada, Cadeia de Mensagens
  • Homem do Meio, Classe de Biblioteca Incompleta
  • Explore o src/ de cada projetoNN/.
  • Leia a intenção e a saída esperada no README.md para entender o que o código deveria fazer.
  • Se quiser, execute o projeto (o comando está no README.md) para confirmar o comportamento antes de propor a correção.
  • Mantenha a linguagem original do projeto ao descrever a correção.

A entrega é uma postagem no AVA (uma por equipe), contendo um bloco por projeto, seguindo este modelo:

# Exercício 07 — GRUPOxx
## projeto01
- Smell: <nome do catálogo>
- Justificativa: <onde aparece e por que caracteriza o smell>
- Correção proposta: <refatoração aplicável, na linguagem original>
## projeto02
- Smell: ...
- Justificativa: ...
- Correção proposta: ...
(...)
## projeto09
- Smell: ...
- Justificativa: ...
- Correção proposta: ...

Regras da postagem:

  • Use os rótulos Smell:, Justificativa: e Correção proposta: para todos os projetos — isso facilita a comparação entre as equipes.
  • Identifique os projetos como projeto01 … projeto09.
  • Não é necessário entregar o código refatorado completo; descreva a correção com clareza (pode incluir pequenos trechos de código ilustrativos).
  • Analise todos os projetos.
  • O smell principal foi corretamente identificado em cada projeto?
  • A justificativa aponta o trecho correto e explica o conceito?
  • A correção proposta elimina o smell e preserva o comportamento?
  • A linguagem original foi respeitada?

Em caso de empate entre um smell principal e um secundário, prevalece o smell dominante do projeto.