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.
Objetivo
Seção intitulada “Objetivo”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.
Catálogo de smells
Seção intitulada “Catálogo de smells”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
Como analisar
Seção intitulada “Como analisar”- Explore o
src/de cadaprojetoNN/. - Leia a intenção e a saída esperada no
README.mdpara 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.
Formato de entrega
Seção intitulada “Formato de entrega”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:eCorreçã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.
Avaliação
Seção intitulada “Avaliação”- 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.