Vislumbres do backend de uma plataforma de desenvolvimento revelam uma equipe que adotou o AutoDev, uma…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Reconhecer o conceito de metaprogramação como uma forma de generalização na construção de programas, permitindo que algoritmos sejam entrada ou saída para outros algoritmos.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Vislumbres do backend de uma plataforma de desenvolvimento revelam uma equipe que adotou o AutoDev, uma ferramenta capaz de ler especificações e gerar automaticamente módulos de código. Os desenvolvedores alimentam a plataforma com algoritmos genéricos e regras de negócio; em seguida, ela produz funções específicas prontas para uso. Além disso, é possível inserir novos scripts de geração para estender as capacidades do AutoDev, sem alterar seu núcleo. A equipe afirma que, assim, reduz o tempo de implementação e garante consistência entre projetos distintos. Analise o texto-base e identifique qual prática descrita exemplifica metaprogramação como generalização na construção de programas.
- A) Uso de uma ferramenta que gera módulos de código a partir de regras e algoritmos genéricos.
- B) Uso de frameworks para estilizar interfaces de usuário.
- C) Uso de funções que chamam outras funções em tempo de execução.
- D) Uso de scripts de teste escritos manualmente para validar o programa.
- E) Uso de bibliotecas externas para padronizar chamadas de rede.
✅ Resposta correta: alternativa A
Resolução passo a passo
- O texto descreve o AutoDev, uma ferramenta que recebe algoritmos genéricos e regras de negócio e produz automaticamente funções e módulos de código. O programa escreve programa, e isso é o núcleo da metaprogramação. Passo 2: O termo generalização aparece porque a entrada são algoritmos genéricos, que valem para muitos casos, e não código específico. Assim, a mesma ferramenta gera soluções para projetos distintos, o que a equipe apresenta como garantia de consistência. Passo 3: A alternativa A descreve exatamente essa prática, o uso de uma ferramenta que gera módulos de código a partir de regras e algoritmos genéricos. Passo 4: A alternativa B está errada, pois frameworks de estilização tratam da aparência da interface e não da geração de código. Passo 5: A alternativa C está errada, pois chamar funções em tempo de execução é apenas o uso comum de sub-rotinas, sem gerar código novo. Passo 6: A alternativa D está errada, pois testes escritos manualmente são o oposto da geração automática de código descrita no texto. Passo 7: A alternativa E está errada, pois bibliotecas de rede reutilizam código pronto, mas não produzem código a partir de regras. Conclusão: o gabarito oficial A está correto e coincide com a resolução feita independentemente.
💡 Dica: Identifique a prática que exemplifica metaprogramação como generalização.
Alternativa por alternativa
A ferramenta recebe algoritmos como entrada e produz outros, caracterizando metaprogramação.
O aluno associa a palavra 'ferramenta' a qualquer recurso de desenvolvimento e entende que frameworks de interface são exemplos de metaprogramação. Não percebe que o texto trata de geração automática de código.
Por que engana: Confundir metaprogramação com uso comum de frameworks ou funções simples.
O aluno confunde metaprogramação com a simples chamada de funções entre si em tempo de execução. Não nota que o texto fala de código que gera outro código, e não de execução de sub-rotinas.
O aluno foca na ideia de validação presente no texto (consistência, verificação) e supõe que testes manuais representam a prática descrita. Não percebe que a escrita manual de testes é justamente o oposto da geração automática.
O aluno se deixa levar pela ideia de padronização e consistência entre projetos, que é intuitiva no dia a dia, e supõe que bibliotecas que padronizam chamadas representam metaprogramação. Não distingue reutilizar código pronto de gerar código a partir de regras.
Raio-X da questão
metaprogramação e generalização
diagnostico
conceitos de programação · metaprogramação básica
Estude o conceito de metaprogramação e geração automática de código.
Confundir metaprogramação com uso comum de frameworks ou funções simples.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Em um projeto de monitoramento de rios, uma boia computacional organiza leituras de sensores antes de enviá-las por…
- Uma biblioteca escolar recebeu caixas de livros doados para uma feira de troca. Para registrar os exemplares, a equipe…
- Um centro cultural público oferece inscrições on-line para atividades com critérios variados. Na oficina de teatro…
- Uma escola está testando dois protótipos de aplicativo para que estudantes consultem mudanças de sala, horários e…
- Uma secretaria municipal de educação está digitalizando pedidos de transporte escolar e de atendimento em contraturno…
- — O cartaz não pode sair duas vezes, pois a feira começa em uma hora — alertou a coordenadora do centro cultural. No…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
