Código gerado por IA acelera pesadelo de montanha de merda de código?

Hoje, muitos programadores optam por usar IA para auxiliar na programação, mas com a rápida popularidade do desenvolvimento de software de IA, as preocupações com a qualidade do código tornaram-se cada vez mais proeminentes. Adam Tornhill, que está envolvido na pesquisa de código há muito tempo, disse certa vez que o principal desafio enfrentado pela programação assistida por IA é que ela pode gerar facilmente uma grande quantidade de código que não precisa ser escrito.

De acordo com as pesquisas mais recentes, os resultados são realmente preocupantes. Além do problema dos códigos serem eliminados após repetidas modificações, a proporção de códigos duplicados também se torna cada vez mais grave.

Desde que sua versão beta foi lançada, o GitHub Copilot rapidamente conquistou o campo da codificação de IA. De acordo com o CEO da empresa, Thomas Dohmke, o software atraiu mais de um milhão de desenvolvedores de assinaturas pagantes, aumentando efetivamente a velocidade das tarefas de desenvolvimento em 55%. Além disso, 46% do volume de código em arquivos habilitados para Copilot é gerado por inteligência artificial.

De acordo com uma pesquisa da empresa de análise de desenvolvedores GitClear, após coletar dados de 150 milhões de linhas de código alterado, descobriu-se que dois terços dos dados vieram de dados compartilhados anonimamente por empresas privadas, enquanto um terço dos dados veio do Google, Projetos de código aberto de gigantes da tecnologia como Facebook e Microsoft.

A pesquisa se concentra no processamento de código que foi modificado, atualizado, excluído, copiado e movido, ao mesmo tempo em que elimina o “ruído” predefinido pelo GitClear, como o mesmo trecho de código sendo submetido a múltiplas ramificações, linhas em branco e outros artefatos sem sentido. ... linhas de código.

No entanto, a pesquisa do GitClear se concentrou na qualidade do código e não na quantidade do código, e descobriu que o assistente de IA fornecia principalmente "sugestões de adição de código", mas raramente fornecia sugestões de atualização, movimentação ou exclusão de código.

Não é fácil medir com precisão a qualidade do código. Os pesquisadores encontraram algumas tendências, mostrando que a quantidade de adições, exclusões, atualizações e cópias/pastas de código aumentou significativamente, mas a proporção de movimentos de código diminuiu. Encontraram também um aumento significativo nas taxas de duplicação de códigos, de 3,3% em 2020 para 7,1% atualmente.

De modo geral, a movimentação do código é um critério importante para os desenvolvedores ao refatorar o código. Especificamente, é necessário garantir que a funcionalidade original não seja alterada enquanto se melhora o design e a estrutura do código.

Os pesquisadores especulam preliminarmente que esta tendência pode estar relacionada à rápida popularidade da tecnologia de codificação de IA, mas as razões específicas ainda precisam de mais verificação. Eles criticaram duramente os efeitos negativos do uso excessivo de copiar/colar código, afirmando: "Esse uso estúpido de código gerado por IA terá um impacto desastroso na capacidade de manutenção do código a longo prazo."

No entanto, a dependência excessiva de copiar e colar não é um problema novo. Os desenvolvedores podem fazer isso porque é mais rápido e fácil simplesmente copiar e colar sem precisar ajustar e reutilizar o código existente. Ou pode ser devido à falta de comunicação entre vários desenvolvedores ou ao plágio excessivo de exemplos de desenvolvimento e codificação de sites de perguntas e respostas.

Os pesquisadores do GitClear não discutiram especificamente como resolver os problemas encontrados, mas em vez disso recorreram a "questões de pesquisa de acompanhamento". No entanto, eles também sugerem que os líderes de engenharia deveriam “monitorar os dados enviados e considerar seu impacto na manutenção futura do produto”.

A pesquisa pode ajudar de alguma forma a apaziguar os desenvolvedores preocupados em serem substituídos por ferramentas de inteligência artificial. Um estudo recente de refatoração de código de IA conduzido pela empresa de análise de código CodeScene também concluiu que “a inteligência artificial está longe de ser capaz de substituir os humanos em ambientes de codificação”.

Mas o que é certo é que o assistente de codificação de IA nunca desaparecerá, pelo contrário, como todas as novas ferramentas, continuará a ser melhorado e os desenvolvedores aprenderão como otimizar suas ideias e melhorar sua eficácia. Na verdade, os desenvolvedores de hoje começaram a perceber a importância da qualidade do código. De acordo com um relatório de pesquisa do GitHub e da Wakefield Research, entre os programadores pesquisados, quando questionados sobre “Quais métricas devem ser avaliadas ao usar ativamente a inteligência artificial?”, “qualidade do código” foi considerada a questão mais importante.

Pesquisas recentes mostram que o impacto negativo da qualidade do código nos negócios não pode ser ignorado. De acordo com esses estudos, normalmente, os desenvolvedores de uma empresa desperdiçam em média 23% a 42% do seu tempo devido a dívidas técnicas e códigos inadequados. Este resultado é suficiente para atrair nossa atenção. Além disso, pesquisas sobre perdas de produtividade entre desenvolvedores de software devido a dívidas técnicas apontam que os desenvolvedores muitas vezes precisam introduzir novas dívidas técnicas porque as empresas têm sacrificado a qualidade do código em prol de ganhos de curto prazo, como novos recursos.

Portanto, melhore a legibilidade e a manutenção do código, concentre-se na robustez e na otimização do desempenho do código e garanta a segurança do código. A conformidade do código com as normas e práticas recomendadas, como convenções de nomenclatura, convenções de anotação e estilo de código unificado, ainda são problemas que os desenvolvedores precisam superar. Para atender a esses requisitos, os desenvolvedores precisam ter sólidas habilidades de codificação, bom espírito de trabalho em equipe e usar o assistente de codificação de IA correto para ajudá-los a obter com eficiência uma saída de código de alta qualidade.

Tomemos como exemplo o FuncGPT (Função Hui) lançado por Feisuan, que integra anos de programação de big data no local e passa por milhões de linhas de treinamento de código para ajudar os desenvolvedores a gerar funções de alta qualidade em tempo real por meio de linguagem natural. Código de função Java legível. O código gerado pode ser copiado diretamente para IDEA. Em termos de qualidade do código, como o FuncGPT (Função Hui) possui poderosos recursos de processamento de linguagem natural, ele pode entender com precisão as descrições e requisitos das funções dos usuários, reduzindo os custos de comunicação de desenvolvimento e a dificuldade de compreensão. Ao mesmo tempo, devido às melhores práticas na codificação e no treinamento conjunto de máquinas em larga escala, reduz bugs causados ​​​​por negligência humana e erros gramaticais, garantindo a qualidade do código gerado. Vários testes internos mostraram que, em comparação com modelos grandes como o ChatGPT no mercado, o código gerado pelo FuncGPT (FuncGPT) é de qualidade superior e é mais fácil de ser usado diretamente pelos desenvolvedores.

Atualmente, é compreensível que as empresas introduzam ferramentas auxiliares de inteligência artificial para alcançar "redução de custos e aumento de eficiência", mas precisamos usá-las com cuidado para aproveitar ao máximo as vantagens e evitar desvantagens. Permitir que a programação assistida por IA ajude melhor os desenvolvedores requer os esforços conjuntos de todas as partes.

O Google doou US$ 1 milhão à Rust Foundation para melhorar a interoperabilidade entre Rust e C++. O projeto de mecanismo web "Servo", abandonado pela Mozilla, renascerá em 2024. O pai da linguagem Go resume os fatores de sucesso: o mascote é indispensável jQuery 4.0 .0 beta lançado em código aberto diariamente: "Pequeno, mas bonito" Tauri tem suporte para Android e iOS; o código aberto da Apple Pkl Google Bard foi renomeado Gemini, APP independente gratuito Vite 5.1 foi lançado oficialmente, sistema de galeria de ferramentas de construção front-end PicHome 2.0.1 lançado conjunto de ferramentas Java Hutool-5.8.26 é lançado, desejo-lhe tudo de bom.O grande modelo de código aberto MaLA-500 é lançado, suportando 534 idiomas.
{{o.nome}}
{{m.nome}}

Acho que você gosta

Origin my.oschina.net/u/4868096/blog/11013335
Recomendado
Clasificación