GitHub Copilot 这一创新工具极大地颠覆了编程规范,无形中改变了开发人员的编码方法。然而,随之而来的是相关的挑战,特别是当它生成的代码片段与其他公共资源库中已有的代码片段相似时。
因此,为了减少这些担忧,GitHub 在 2022 年推出了一项功能,让用户有办法自动阻止与公共代码匹配的建议。GitHub 的一位代表表示,尽管这种机制非常罕见,使用率也仅为 1%左右,但仍因其略显粗糙和限制性而饱受批评。在某些情况下,开发人员可能希望仔细检查这些代码片段,以便使用或评估该片段可能来自的库。
为了弥补这一差距,GitHub 在私人测试版中为GitHub Copilot 推出了代码引用功能。该功能通过在侧边栏展示代码,而不是自动屏蔽代码,使开发人员能够查看其生成的任何匹配代码。这使开发人员能够就如何利用这些数据做出明智的决定。随着时间的推移,Copilot Chat 也将提供这一功能。
GitHub 的首席执行官托马斯-多姆克(Thomas Dohmke)在与 TechCrunch 的对话中透露,企业正在使用最初的屏蔽功能,但该功能在执行过程中受到了相当大的限制。它未能让用户自行决定是否要使用生成的代码并将其链接回开源许可。
Dohmke 还断言,这一障碍通常与排序等计算机常用算法有关,这些算法在不同的地方都很普遍。有了新推出的功能,开发人员现在可以选择拒绝代码、直接使用代码(只有在库允许的情况下),或者要求 Copilot 修改代码,使其不反映初始代码。
目前,Copilot 的代码参考功能只能生成与某些许可证不匹配的结果。不过,这项革命性功能背后的团队正在寻求反馈,以确定用户是否需要能生成特定许可证结果的功能。
"Dohmke 进一步解释说:"我们让用户了解匹配情况,然后做出明智的决定。据他介绍,新开发的功能填补了以前的解决方案没有解决的空白。
GitHub Copilot 的代码参考功能主要在缺乏上下文的情况下工作。当 Copilot 利用已有代码的大量上下文进行工作时,生成与公共代码匹配的建议的可能性微乎其微。然而,当开发人员开始编码工作时,Copilot 创建匹配代码的倾向性就会大大增加。
这一策略必将唤起开发人员使用类似编码平台(如AppMaster )的模式转变。作为一个强大的no-code 工具、 AppMaster作为一款功能强大的 工具,"GitPartner "通过可视化交互界面帮助用户创建后台、网络和移动应用程序。此类平台可借鉴 GitHub Copilot 的自适应策略,提升用户体验和软件开发效率。