Análise aprofundada · Cerca de 7 min de leitura
O que três Java Champions ensinam sobre verificar programação com IA
Entrevistas do GitHub mostram como contexto, reprodução por plataforma e verificações explícitas tornam o trabalho do Copilot auditável.
- Publicado aqui
- Data da fonte
- Fonte verificada
O GitHub publicou em 20 de outubro entrevistas com Vlad Mihalcea, Patrick Baumgartner e Frank Delporte. Os exemplos abrangem funcionalidades, material didático e uma falha silenciosa de entrada de hardware. O ponto comum é a verificação: desenvolvedores definem o problema, examinam evidências e mantêm a responsabilidade. São relatos de profissionais publicados pelo fornecedor da ferramenta, não um estudo controlado de produtividade.
Ouça as notícias
Ouça este artigo ou continue ouvindo as notícias.
Preparando a leitura…
Voz do dispositivo
O navegador ou dispositivo processa a voz. O AISubHub não envia o texto a uma API de áudio. As vozes e a reprodução com a tela bloqueada variam conforme o dispositivo.
Ao continuar, uma frase curta pode se repetir.
Resumo
- Baumgartner relata migrar cerca de 900 slides em 15 apresentações durante oito a dez horas, verificando capturas de tela, animações e PDFs.
- Delporte descreve uma falha no Pi4J V4: na configuração Raspberry Pi relatada, o polling nativo ocupava quatro threads portadoras e o quinto observador de entrada não era executado.
Ensinar ao assistente os padrões existentes do projeto
Mihalcea usa Copilot no IntelliJ IDEA para investigar, depurar e criar protótipos. Segundo ele, uma aplicação web de histórico de eventos do Optimizer, adiada porque estimava semanas de trabalho, levou dois dias para implementar e está prevista para uma próxima versão do Hypersistence Optimizer. A comparação é com uma previsão, não com outra implementação cronometrada. Ele continua revisando planos e código e intervém quando a resposta é inadequada.
Seus skills próprios aproveitam 65 artigos publicados e 12 anos de blog para orientar a documentação e preservar código expressivo, testável, simples e coerente com o existente. Para trabalho complexo, descreve Opus com contexto de um milhão de tokens e raciocínio Extra High ou Max; para relatórios e verificações documentais, modelos mais leves. Isso descreve seu fluxo, não comprova disponibilidade dessas opções em todos os planos do Copilot. Interpretamos que convenções e tamanho da tarefa importam tanto quanto o modelo.
Uma migração precisa preservar o significado
A migração de Reveal.js para Marp abrangia aproximadamente 900 slides de 15 apresentações, com código, animações e exemplos JavaScript alterados ao vivo em aula. Antes da execução, Baumgartner e Copilot analisaram o material, definiram destino, restrições, exemplos e o que deveria permanecer; depois avançaram da estrutura aos detalhes. Ele relata oito a dez horas, contra sua estimativa de uma semana ou mais manualmente.
A evidência de aceitação foi além de arquivos convertidos: compararam capturas visual e algoritmicamente, executaram as duas versões lado a lado para inspecionar animações e confrontaram os PDFs gerados. Erros de digitação podiam ser corrigidos automaticamente, mas alterações de sentido, conteúdo, versões ou datas eram discutidas. Para o AISubHub, se a necessidade real é preservar uma sequência didática, cobertura de arquivos e conversão bem-sucedida não bastam.
Reproduzir a plataforma do usuário antes de concluir a correção
Uma aplicação de terminal com Tamboui funcionava no Linux dentro do WSL, mas um usuário descobriu que Enter era ignorado em alguns formulários no Windows CMD ou PowerShell nativo. Baumgartner transformou o relato em testes de interface, utilizou tmux no Linux e conheceu psmux para fluxos semelhantes no PowerShell. A equipe reproduziu o comportamento, criou um ajuste local, rastreou a causa até Tamboui e submeteu uma correção incorporada ao projeto upstream.
Quando as descrições de testes ultrapassaram o contexto disponível, tabelas repetitivas deram lugar a uma notação compacta de passos, preservando informações críticas. A lição não é eliminar asserções. Nossa análise é que a representação precisa manter ações, entradas e comportamento esperado; passar no Linux não encerra um defeito de Windows. A entrevista não fornece uma matriz universal de compatibilidade nem versões exatas do ambiente.
Resolver os requisitos antes de acelerar a execução
Uma aplicação educativa mudou após discussões sobre aprendizagem e currículos reais: em vez de atender todos os países imediatamente, Baumgartner priorizou a Suíça e a aritmética do primeiro ao quarto ano. Oferece alemão, francês, italiano e inglês, explicações e prática repetida após erros, além de modos para dois jogadores. Ele escolheu não usar backend, mantendo dados infantis no dispositivo e hospedando o aplicativo no GitHub Pages. É uma decisão relatada, não uma auditoria de segurança.
Em uma viagem de cerca de quatro horas, também dirigiu pelo telefone um plugin Maven para autoconfiguração do Spring Boot, revisando CI, testes de desempenho com um aplicativo de exemplo e relatórios. Uma exigência anterior de suportar Spring Boot 3.5 e 4.x havia criado dois caminhos arquitetônicos; remover depois o caminho 3.5, já desnecessário, foi custoso. Os exemplos favorecem pequenas decisões e esclarecimento antecipado, não garantem a entrega e validação de qualquer plugin em quatro horas.
Por que o quinto botão podia ficar silencioso
O exemplo de Delporte envolve o Pi4J V4, lançado em fevereiro de 2026 com um plugin da Foreign Function & Memory API. Quatro botões funcionavam; o quinto não gerava evento, exceção ou aviso. O antigo plugin gpiod funcionava no mesmo hardware e aplicativo. Ele forneceu dois caminhos iniciais, a classe provedora e FFMDigitalInput, e relata receber uma proposta de pull request cerca de meia hora depois.
No diagnóstico descrito, cada observador bloqueava em poll() nativo aguardando uma mudança GPIO. A thread virtual bloqueada nessa chamada permanecia presa à portadora. Quatro observadores ocupavam as quatro portadoras do Raspberry Pi 4 de quatro núcleos, deixando o quinto sem agendamento. Isso explica a causa melhor que chamar os eventos de instáveis. Continua sendo o diagnóstico da entrevista, não uma regra para todas as versões Java ou operações com threads virtuais. Mantenedores revisaram e aprovaram as mudanças antes da integração.
Transformar experiências em verificações
Baumgartner mantém skills como maintainer-audit e cita unlazy como exemplo de critérios explícitos de conclusão. Seu conjunto de qualidade reúne Checkstyle, PMD e verificações arquitetônicas do Spring Modulith para alterar, executar controles, ler resultados e iterar. Usa VS Code para feedback visual, terminal ou coding agent para tarefas maiores e MCP somente quando útil; uma boa CLI pode ser preferível. São práticas dele, não skills testados pelo AISubHub.
Delporte acrescenta uma exigência diagnóstica: o teste de regressão deve falhar no código antigo e passar após a correção. Também pede explicações compreensíveis e revisa duplicações e manutenção. Recomendamos definir a evidência de aceitação antes da execução, verificá-la independentemente e manter a aceitação humana. Ferramentas estáticas sozinhas não validam animações, comportamento nativo nem adequação educacional; os relatos continuam exigindo pessoas executando e avaliando o software.
Por que importa
Análise do AISubHub: a unidade reutilizável é o ciclo completo de feedback, incluindo hipóteses erradas e verificações. Equipes podem testar uma tarefa representativa, registrar o ambiente e avaliar se as evidências propostas revelariam uma resposta incorreta antes de ampliar a delegação.
Limites e disponibilidade
Tempos e resultados são relatos dos entrevistados. Não executamos o código, reproduzimos o problema físico, examinamos os pull requests vinculados nem auditamos os skills. Não há linha de base controlada, aceleração geral comprovada ou direito universal a modelos; versões e plataformas exigem verificação por projeto.
Fontes e evidências
Data da fonte: · Fonte verificada:
Conteúdo editorial com apoio de IA, verificado em fontes primárias. Alegações dos fornecedores são atribuídas; inclusão não é recomendação.