Questão de Engenharia de Software — Gerência de Configuração — FGV 2022
Engenharia de Software›Gerê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):
Adiminuição da velocidade de desenvolvimento. A necessidade de utilização de rebase quando uma funcionalidade é finalizada aumenta a complexidade do desenvolvimento;
Bindisponibilidade de dados de auditoria. Existe perda parcial do histórico do repositório quando é realizado o merge de um ramo (Branch);
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;
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);
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.