Pular para o conteúdo principal

Questão de Engenharia de Software — Métricas de Software — CESPE / CEBRASPE 2023

Engenharia de SoftwareMétricas de Software
Código
ce161026
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2023
Nível
Superior
Cargo
Analista - Especialização: Tecnologia
Julgue o próximo item, relativos aos 12 fatores (12 factories).Considere-se que, na figura a seguir, Deploys sejam ambientes onde os códigos são disponibilizados, tais como ambiente de produção e de desenvolvimento, e que Codebase se refere a um repositório único em um sistema de controle de revisão descentralizado tal como o Git. Nesse caso, segundo o que preconizam os 12 factories, vários aplicativos devem compartilhar o mesmo código de modo que se tenha uma padronização e não haja comprometimento com as dependências no repositório.Imagem associada para resolução da questão
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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”.

12 Fatores (12-Factor App): Codebase e Deploys

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 codebaseN 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.

1Relação correta
1 codebase por aplicativo
N deploys (ambientes)
2Princípios
Independência entre apps
Rastreabilidade (histórico próprio)
3Compartilhar código entre apps
Acoplamento
Dificulta evolução independente
Fator Codebase (12-Factor)
LEVELsoulevel.com.br
Fator Codebase (12-Factor): Relação correta (1 codebase por aplicativo, N deploys (ambientes)); Princípios (Independência entre apps, Rastreabilidade (histórico próprio)); Compartilhar código entre apps (Acoplamento, Dificulta evolução independente)

Item — ❌ Errado

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.

PEGA ESSA DICA!

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