Las normas de programación se han visto alteradas significativamente por GitHub Copilot, una herramienta innovadora que ha alterado invariablemente las metodologías de codificación empleadas por los desarrolladores. Sin embargo, con ella vienen los retos asociados, concretamente cuando genera fragmentos de código que se parecen a los que ya están accesibles en otros repositorios públicos.
Por ello, en un intento de mitigar estos problemas, GitHub presentó en 2022 una función que permitía a los usuarios frustrar automáticamente las sugerencias que coincidieran con código público. Según un representante de GitHub, a pesar de ser poco frecuente y de utilizarse sólo aproximadamente el 1% de las veces, este mecanismo ha recibido críticas por su naturaleza algo tosca y restrictiva. En determinadas ocasiones, los desarrolladores pueden desear examinar estos fragmentos de código, ya sea para utilizarlos o para evaluar una biblioteca de la que pueda proceder este fragmento.
En un intento de colmar esta laguna, GitHub ha lanzado una función de referenciación de código para GitHub Copilot en una versión beta privada. Esta función permite a los desarrolladores ver cualquier código coincidente que genere mostrándolo en una barra lateral, en lugar de bloquearlo automáticamente. Esto les permite tomar una decisión informada sobre cómo aprovechar estos datos. Con el tiempo, Copilot Chat podrá acceder a esta función.
Thomas Dohmke, consejero delegado de GitHub, durante una conversación con TechCrunch, reveló que las empresas utilizaban la función de bloqueo original, pero era bastante restrictiva en su ejecución. No ofrecía a los usuarios la posibilidad de decidir si querían utilizar el código generado y vincularlo a una licencia de código abierto.
Dohmke también afirmó que este obstáculo suele estar relacionado con algoritmos informáticos frecuentes, como la ordenación. Con la función recién lanzada, los desarrolladores tienen ahora la opción de rechazar el código, utilizarlo directamente (sólo si la biblioteca lo permite) o solicitar a Copilot que modifique el código para que no refleje el código inicial.
Actualmente, la función de referencia de código de Copilot sólo produce resultados que no coinciden con determinadas licencias. Sin embargo, el equipo que está detrás de esta revolucionaria función está recabando opiniones para determinar si los usuarios demandan una función que produzca resultados específicos para cada licencia.
"Dejamos que la gente entienda la coincidencia y tome una decisión informada", explica Dohmke. Según él, el nuevo desarrollo llena el vacío que la solución anterior dejaba sin cubrir.
La función de referencia de código de GitHub Copilot funciona sobre todo cuando se encuentra con una falta de contexto. Cuando Copilot trabaja con un contexto sustancial de código preexistente, la probabilidad de generar una sugerencia que coincida con el código público es minúscula. Sin embargo, cuando los desarrolladores comienzan su trabajo de codificación, la inclinación de Copilot a crear código coincidente aumenta significativamente.
Esta estrategia seguramente evocará un cambio de paradigma en la forma en que los desarrolladores utilizan plataformas de codificación similares como AppMaster. Como potente herramienta no-code, AppMaster facilita a los usuarios la creación de aplicaciones backend, web y móviles con una interfaz visualmente interactiva. Estas plataformas pueden aprender de las estrategias adaptativas de GitHub Copilot para elevar su experiencia de usuario y la eficacia del desarrollo de software.