Questão de Engenharia de Software — Métricas de Software — CESPE / CEBRASPE 2023
- Código
- ce161026
- Banca
- CESPE / CEBRASPE
- Órgão
- SERPRO
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista - Especialização: Tecnologia

- CCerto
- EErrado

GabaritoE — Errado
Gabarito: Errado (E). Segundo o 12-Factor App, cada aplicativo (app) deve ter um único codebase (repositório) e vários deploys (ambientes) a partir desse mesmo codebase — ou seja, a relação é de um codebase para muitos deploys, e não "vários aplicativos compartilhando o mesmo código". A afirmação inverte o princípio: o que se busca é que cada app tenha seu próprio repositório, e não que vários apps compartilhem um único repositório.
O 12-Factor App é uma metodologia criada por Adam Wiggins (da Heroku) para construir aplicações web modernas, escaláveis e de fácil manutenção. O primeiro fator, Codebase, estabelece que "há exatamente um codebase por aplicativo, mas há muitos deploys do aplicativo". Um codebase é o repositório único de controle de versão (como Git) que contém todo o código-fonte do aplicativo. Um deploy é uma instância em execução do aplicativo em um ambiente específico (produção, staging, desenvolvimento, etc.). A relação correta é:
1 codebase → N deploys (vários ambientes a partir do mesmo repositório).
Cada aplicativo tem seu próprio codebase — não se compartilha o mesmo repositório entre aplicativos diferentes.
O erro da afirmação está em dizer que "vários aplicativos devem compartilhar o mesmo código". Isso contraria o princípio, pois cada app deve ter seu próprio codebase. Compartilhar código entre aplicativos diferentes criaria acoplamento e dificultaria a evolução independente de cada um.
Na prática, se dois aplicativos compartilhassem o mesmo repositório, uma alteração feita para um poderia quebrar o outro, e o versionamento ficaria confuso. O 12-Factor preza pela independência e pela rastreabilidade: cada app tem seu histórico, suas versões e seus deploys. A pegadinha da banca está em inverter a relação: em vez de "um codebase, vários deploys", a afirmação sugere "vários aplicativos, um codebase". O candidato que conhece o princípio percebe a inversão na hora.
A afirmação está errada porque inverte o princípio do fator Codebase. O 12-Factor App preconiza que cada aplicativo tenha um único codebase (repositório) e que, a partir dele, sejam criados vários deploys (ambientes). Não se deve compartilhar o mesmo código entre aplicativos diferentes — isso violaria a independência e a rastreabilidade que o método busca.
Para questões sobre 12-Factor App, memorize a relação do primeiro fator: 1 codebase → N deploys. Sempre que a afirmação falar em "vários aplicativos compartilhando o mesmo código", desconfie: o correto é cada app com seu próprio repositório.
Gabarito: letra E (Errado).
Link permanente: /questoes/ce161026