Questão de Engenharia de Software — Refatoração — FUNDATEC 2025
Engenharia de Software›Refatoração
Código
qg468594
Banca
FUNDATEC
Órgão
BRDE
Ano
2025
Nível
Superior
Cargo
Analista de Sistemas - Subárea Desenvolvimento de Sistemas
Um code smell é qualquer característica em um código-fonte que indica uma possível fragilidade ou problema mais profundo que pode vir prejudicar a manutenção e a qualidade do software. São exemplos de code smells, EXCETO:
ABlocos de código duplicados.
BBaixo acoplamento.
CComentários longos.
DMétodos e classes muito extensos.
EViolação à orientação a objetos.
Revelar gabarito e comentário▾
GabaritoB — Baixo acoplamento.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Code Smells
Gabarito: letra B. O baixo acoplamento (low coupling) é uma boa prática de projeto de software, não um code smell. Os demais — código duplicado, comentários longos, métodos/classes extensos e violação de OO — são exemplos clássicos de maus cheiros no código (code smells), conforme amplamente documentado na literatura de refatoração (Fowler, 1999).
Alternativa
Descrição
É Code Smell?
Justificativa
A
Blocos de código duplicados
Sim
Indica falta de abstração e aumento do custo de manutenção
B
Baixo acoplamento
Não
É uma boa prática de projeto, reduz dependências entre módulos
C
Comentários longos
Sim
Sugere que o código não é autoexplicativo
D
Métodos e classes muito extensos
Sim
Viola o princípio da responsabilidade única
E
Violação à orientação a objetos
Sim
Gera código frágil e de difícil manutenção
Code smells: Código duplicado; Comentários longos; Métodos/classes extensos; Violação de OO; Boas práticas (Baixo acoplamento, Alta coesão)
Alternativa A — ❌ Incorreta
Blocos de código duplicados são um dos code smells mais comuns, indicando falta de abstração e aumento do custo de manutenção. Portanto, não é a exceção.
Alternativa B — ✅ Correta ⟵ GABARITO
Baixo acoplamento é um princípio desejável de design de software, que reduz dependências entre módulos. Ele não é um code smell; pelo contrário, é um objetivo a ser alcançado.
Alternativa C — ❌ Incorreta
Comentários longos geralmente indicam que o código não é autoexplicativo. Embora comentários sejam úteis, excesso ou comentários que explicam o óbvio são considerados um cheiro de código.
Alternativa D — ❌ Incorreta
Métodos e classes muito extensos violam o princípio da responsabilidade única e dificultam a legibilidade e manutenção, sendo um code smell clássico (método longo/classe grande).
Alternativa E — ❌ Incorreta
Violar princípios de orientação a objetos (como encapsulamento, herança, polimorfismo) gera código frágil e de difícil manutenção, enquadrando-se como code smell.
NÃO CAIA NESSA!
O termo "baixo acoplamento" pode soar negativo, mas na engenharia de software ele é uma qualidade. A banca explora essa inversão: o candidato pode achar que baixo acoplamento é ruim, quando na verdade é o alto acoplamento que é um problema.