Pular para o conteúdo principal

Questão de Engenharia de Software — Gerência de Configuração — FGV 2022

Engenharia de SoftwareGerência de Configuração
Código
fg047184
Banca
FGV
Órgão
CGU
Ano
2022
Nível
Superior
Cargo
Auditor Federal de Finanças e Controle - Tecnologia da Informação
Sistemas de Controle de Versão (SCV), tais como o Mercurial, o GIT e o SVN, são ferramentas indispensáveis para apoiar as melhores práticas de desenvolvimento de sistemas.Os SCVs atualmente disponíveis possuem grande flexibilidade para se adaptar ao fluxo de trabalho de um time e suas práticas de desenvolvimento. No GIT, essa customização do fluxo de trabalho para um time ou projeto é comum, e muitos desses fluxos de trabalho utilizam uma abordagem conhecida como ramificação de recurso (Feature Branch).Uma possível limitação dessa abordagem seria o(a):
  1. Adiminuição da velocidade de desenvolvimento. A necessidade de utilização de rebase quando uma funcionalidade é finalizada aumenta a complexidade do desenvolvimento;
  2. Bindisponibilidade de dados de auditoria. Existe perda parcial do histórico do repositório quando é realizado o merge de um ramo (Branch);
  3. Cimpacto na integração contínua. Se o ciclo de entrega de funcionalidade de um time é longo, aumentam os riscos e desafios dos merges e integrações;
  4. Dmenor qualidade funcional. O novo fluxo de trabalho dificulta a elaboração de testes de aceitação em função da separação de funcionalidades em diferentes ramos (Branches);
  5. Emenor qualidade do código. O novo fluxo de trabalho dificulta a execução de revisão de código (Code Review) pela imposição de pull requests e merge reviews.
Revelar gabarito e comentário

GabaritoC — impacto na integração contínua. Se o ciclo de entrega de funcionalidade de um time é longo, aumentam os riscos e desafios dos merges e integrações;

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

Feature Branch Workflow no Git

Gabarito: letra C. A limitação central da abordagem de ramificação de recurso (Feature Branch) é o impacto na integração contínua: quando o ciclo de vida do branch é longo, aumentam os riscos de conflitos de merge e desafios de integração, comprometendo a entrega contínua.

Alternativa A — ❌ Incorreta

Afirma que há diminuição da velocidade e necessidade de rebase. Rebase não é obrigatório; merge também é usado. A complexidade não é uma limitação inerente do Feature Branch, e sim uma escolha de fluxo.

Alternativa B — ❌ Incorreta

Alega perda de histórico no merge. O merge preserva todo o histórico; a perda de auditoria não ocorre. Pelo contrário, o Git mantém rastreabilidade.

Alternativa C — ✅ Correta ⟵ GABARITO

Branches de recurso longos diferem a integração das alterações, aumentando a probabilidade de conflitos e dificultando a integração contínua. Quanto mais tempo o branch existir, maior o risco de divergência com a branch principal.

Alternativa D — ❌ Incorreta

Afirma que a separação em branches dificulta testes de aceitação. Na verdade, cada branch pode ser testado isoladamente, facilitando a validação da funcionalidade.

Alternativa E — ❌ Incorreta

Pull requests e merge reviews são práticas que incentivam a revisão de código, não a dificultam. Portanto, a afirmativa é falsa.

Conclusão: A limitação mais reconhecida do Feature Branch é o impacto negativo na integração contínua quando os branches são longos, conforme a alternativa C.

PEGA ESSA DICA!

Prefira branches de curta duração (alguns dias) e integre frequentemente para mitigar os riscos. Em fluxos como Git Flow, isso é planejado; em equipes ágeis, o ideal é integrar ao menos uma vez por dia.

Link permanente: /questoes/fg047184