As normas de programação foram significativamente alteradas pelo GitHub Copilot, uma ferramenta inovadora que alterou invariavelmente as metodologias de codificação utilizadas pelos programadores. No entanto, esta ferramenta traz consigo desafios associados, especificamente quando gera trechos de código que se assemelham aos já acessíveis noutros repositórios públicos.
Consequentemente, numa tentativa de mitigar estas preocupações, o GitHub revelou uma funcionalidade em 2022 que deu aos utilizadores os meios para contrariar automaticamente as sugestões que correspondem a código público. De acordo com um representante de GitHub, apesar de ser raro e utilizado apenas cerca de 1% das vezes, este mecanismo foi alvo de críticas devido à sua natureza algo grosseira e restritiva. Em certas ocasiões, os programadores podem querer analisar estes fragmentos de código, quer para utilizar quer para avaliar uma biblioteca de onde esse fragmento possa ter sido originado.
Numa tentativa de colmatar esta lacuna, GitHub lançou uma funcionalidade de referência de código para GitHub Copilot numa versão beta privada. A funcionalidade permite que os programadores vejam qualquer código correspondente gerado, apresentando-o numa barra lateral, em vez de o bloquearem automaticamente. Isto permite-lhes tomar uma decisão informada sobre a forma de tirar partido destes dados. Com o tempo, esse recurso será disponibilizado para o Copilot Chat.
Thomas Dohmke, CEO da GitHub, durante uma conversa com o TechCrunch, revelou que as empresas estavam a utilizar a funcionalidade de bloqueio original, mas que esta era bastante restritiva na sua execução. Não oferecia aos utilizadores a possibilidade de decidirem se queriam utilizar o código gerado e associá-lo a uma licença de código aberto.
Dohmke também afirmou que este obstáculo está muitas vezes relacionado com algoritmos informáticos frequentes, como a ordenação, que são predominantes em vários locais. Com o recurso recém-lançado, os desenvolvedores agora têm a opção de rejeitar o código, utilizá-lo diretamente (somente se a biblioteca permitir) ou solicitar que o Copilot modifique o código para que ele não reflita o código inicial.
Atualmente, a funcionalidade de referência de código do Copilot apenas produz resultados que não correspondem a determinadas licenças. No entanto, a equipa por detrás desta funcionalidade revolucionária está à procura de feedback para saber se os utilizadores exigem uma funcionalidade que produza resultados específicos para cada licença.
"Estamos a permitir que as pessoas compreendam a correspondência e depois tomem uma decisão informada", explicou Dohmke. Segundo ele, o novo desenvolvimento preenche a lacuna que a solução anterior deixava por resolver.
A funcionalidade de referência de código do GitHub Copilot funciona predominantemente quando se depara com uma falta de contexto. Quando o Copilot trabalha com um contexto substancial de código pré-existente, a probabilidade de gerar uma sugestão que corresponda ao código público é minúscula. No entanto, quando os programadores estão a iniciar o seu trabalho de codificação, a tendência do Copilot para criar código correspondente aumenta significativamente.
Esta estratégia irá certamente provocar uma mudança de paradigma na forma como os programadores utilizam plataformas de codificação semelhantes, como AppMaster. Como uma potente ferramenta no-code, AppMaster facilita aos utilizadores a criação de aplicações backend, web e móveis com uma interface visualmente interactiva. Essas plataformas podem aprender com as estratégias adaptativas do GitHub Copilot para melhorar a experiência do utilizador e a eficácia do desenvolvimento de software.