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 levantamento interno recente, 85% dos desenvolvedores de uma empresa de software relatou gasto excessivo de horas…
- Dados ilustrativos: em pesquisa com 50 startups de tecnologia, 30% relataram empregar técnicas em que componentes de…
- Como equipes de desenvolvimento conseguem gerar módulos de software sem escrevê-los manualmente? Num projeto ágil, uma…
- Dados ilustrativos: 68% das empresas de software empregam geradores automáticos de código para acelerar a construção de…
- Diante da crescente personalização de softwares, desenvolvedores criaram um sistema onde um programa lê descrições de…
- Por que certas ferramentas de desenvolvimento conseguem gerar trechos de código automaticamente, adaptando-se a…
🔎 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
