Questão de Engenharia de Software — Geral — INSTITUTO AOCP 2025
- Código
- qa700025
- Banca
- INSTITUTO AOCP
- Órgão
- TRE TO
- Ano
- 2025
- Cargo
- TJ
- ADriver.
- BNavigator.
- CWatcher.
- DCompiler.
- ETyper.
GabaritoB — Navigator.
Gabarito: letra B. Ana desempenha o papel de Navigator (navegador), pois é ela quem revisa continuamente o código escrito, identifica possíveis melhorias e sugere ajustes, enquanto o Driver (piloto) é quem digita o código. Essa é a divisão clássica da técnica de programação em pares, uma prática do Extreme Programming (XP) e de outras metodologias ágeis.
A programação em pares (pair programming) é uma técnica de desenvolvimento de software em que dois programadores trabalham juntos em uma única estação de trabalho. Enquanto um digita o código, o outro revisa cada linha, pensa estrategicamente e antecipa problemas. Essa abordagem visa melhorar a qualidade do código, reduzir erros e promover a troca de conhecimento entre os membros da equipe.
Os dois papéis são complementares e podem ser alternados entre os programadores:
Driver (piloto): é o responsável por digitar o código, focando na implementação imediata da tarefa. Ele se concentra nos detalhes de sintaxe, na lógica do trecho que está escrevendo e na execução das instruções.
Navigator (navegador): é o observador ativo, que revisa o código enquanto ele é escrito. Ele pensa no panorama geral, identifica possíveis erros, sugere melhorias, verifica se o código segue as boas práticas e padrões de qualidade, e antecipa problemas futuros.
No enunciado, Ana "revisa continuamente o código escrito, identifica possíveis melhorias e sugere ajustes" — exatamente a função do Navigator. Ricardo, por sua vez, seria o Driver, digitando o código. Essa distinção é fundamental para entender a dinâmica da programação em pares e é um tema recorrente em provas de Engenharia de Software.
A programação em pares é uma prática do XP (Extreme Programming), uma metodologia ágil que valoriza a comunicação, a simplicidade, o feedback, a coragem e o respeito. No XP, os desenvolvedores trabalham em pares e têm propriedade coletiva do código, o que reforça a importância da colaboração e da revisão contínua.
Para memorizar os papéis, lembre-se: Driver é quem dirige (digita), Navigator é quem navega (observa e orienta). Na prova, se a questão descreve alguém revisando, sugerindo melhorias e pensando no panorama geral, é o Navigator; se descreve alguém digitando o código, é o Driver.
O Driver é o papel de quem digita o código, focando na implementação imediata. Ana não está digitando, mas revisando e sugerindo ajustes, o que é a função do Navigator. A banca tenta confundir o candidato invertendo os papéis.
O Navigator é o papel de quem revisa continuamente o código, identifica melhorias e sugere ajustes, exatamente o que Ana faz no enunciado. Ele pensa no panorama geral e antecipa problemas, garantindo que o código siga boas práticas e padrões de qualidade.
Watcher não é um papel da programação em pares. Os papéis são Driver e Navigator. Watcher pode ser um termo usado em outros contextos, mas não se aplica aqui.
Compiler é o programa que traduz o código-fonte para código de máquina, não um papel humano na programação em pares. A banca tenta confundir com termos técnicos de programação.
Typer não é um papel da programação em pares. É um termo genérico para quem digita, mas não é o termo técnico usado na técnica. O termo correto para quem digita é Driver.
Gabarito: letra B — Ana é a Navigator, pois revisa e sugere melhorias, enquanto o Driver digita o código.
Link permanente: /questoes/qa700025