Questão de Engenharia de Software — Refatoração — FGV 2025
- Código
- fg105414
- Banca
- FGV
- Órgão
- AL-AM
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista Legislativo - Programador
- AKISS.
- BDRY
- CYAGNI.
- DOCP.
- EDIP.
GabaritoB — DRY
Gabarito: letra B. O princípio DRY (Don't Repeat Yourself) afirma que cada regra, conhecimento ou lógica deve ter uma representação única, não redundante no sistema. A refatoração que centraliza a validação de CPF/CNPJ em uma única classe utilitária elimina a duplicação de código, satisfazendo exatamente o DRY.
A banca testa o conhecimento dos princípios clássicos de desenvolvimento de software. Identificar qual deles está diretamente associado à eliminação de duplicação é a chave.
O princípio KISS (Keep It Simple, Stupid) preza pela simplicidade do código, evitando complexidade desnecessária. Embora a refatoração possa tornar o código mais simples indiretamente, o foco principal não é simplicidade, e sim eliminar repetição.
O princípio DRY (Don't Repeat Yourself) estabelece que cada parte do conhecimento deve ter uma única representação em um sistema. Ao colocar a validação de CPF/CNPJ em uma classe utilitária única, evita-se a repetição da mesma lógica em várias classes, atendendo diretamente ao DRY.
O princípio YAGNI (You Ain't Gonna Need It) alerta para não implementar funcionalidades que não são necessárias no momento. A refatoração não adiciona nova funcionalidade, mas reorganiza o código existente, portanto não se aplica.
O princípio OCP (Open/Closed Principle) diz que as classes devem estar abertas para extensão, mas fechadas para modificação. Centralizar a validação em uma classe utilitária não está diretamente relacionado à extensão ou modificação de classes.
O princípio DIP (Dependency Inversion Principle) prega que módulos de alto nível não devem depender de módulos de baixo nível; ambos devem depender de abstrações. A refatoração proposta não envolve inversão de dependências, apenas extração de lógica repetida.
Para identificar o princípio correto, lembre-se da palavra-chave "duplicação". DRY = Don't Repeat Yourself. Quando a refatoração visa eliminar código duplicado, o princípio alvo é sempre o DRY.
Link permanente: /questoes/fg105414