Questão de Engenharia de Software — XP (Extreme Programming) — CESPE / CEBRASPE 2025
- Código
- ce417784
- Banca
- CESPE / CEBRASPE
- Órgão
- BDMG
- Ano
- 2025
- Cargo
- Ana Desen ( )
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: Errado (E). A afirmativa está incorreta porque confunde refatoração com integração contínua: refatorar é melhorar a estrutura interna do código sem alterar seu comportamento externo, enquanto integrar continuamente é o ato de mesclar o novo código ao sistema várias vezes ao dia. A banca misturou duas práticas distintas do XP em uma única definição.
A refatoração (refactoring) é uma prática do Extreme Programming que consiste em reestruturar o código-fonte para melhorar sua clareza, coesão e reutilização, sem modificar sua funcionalidade externa. O objetivo é reduzir a complexidade, eliminar duplicações e facilitar manutenções futuras. É um processo contínuo de melhoria da qualidade interna do software, que não agrega novas funcionalidades — apenas reorganiza o que já existe.
Já a integração contínua (continuous integration) é outra prática do XP, que determina que o código produzido pelos desenvolvedores seja integrado ao sistema principal várias vezes ao dia, sempre que uma nova funcionalidade ou correção é concluída. Isso reduz conflitos de merge e permite detectar erros precocemente, pois o sistema está sempre em estado funcional.
A confusão entre essas duas práticas é clássica em provas de metodologias ágeis. O enunciado descreve exatamente o que é integração contínua — "componentes do código-fonte devem ser integrados várias vezes, à medida que tais funcionalidades sejam desenvolvidas e testadas unitariamente" — mas o rotula como refatoração. É uma troca de conceitos que o candidato desatento pode não perceber.
Para fixar: refatoração = melhorar o código sem mudar o comportamento; integração contínua = juntar o código novo ao sistema frequentemente. São práticas complementares, mas com propósitos distintos. A primeira cuida da qualidade estrutural; a segunda, da frequência de integração.
A afirmativa está errada porque descreve a prática de integração contínua como se fosse refatoração. Refatorar não envolve integrar componentes ao sistema; envolve reescrever internamente o código existente para melhorar sua qualidade, mantendo intacta sua funcionalidade externa. A integração contínua, por sua vez, é que trata de integrar o código novo ao sistema principal várias vezes ao dia, com testes unitários rodando a cada integração.
Na prova, quando a questão falar em "melhorar o código sem mudar o comportamento", "eliminar duplicação", "aumentar coesão" → é refatoração. Quando falar em "integrar várias vezes ao dia", "mesclar código novo ao sistema", "reduzir conflitos de merge" → é integração contínua. Grave essa distinção e você não errará mais.
Gabarito: letra E (Errado).
Link permanente: /questoes/ce417784