代码补全与云开发部署技术解析
代码补全技术
代码补全是集成开发环境(IDE)中第三重要的功能,它能通过填充所需代码并减少常见错误来加速编码过程。早期的IDE中,传统代码补全工具仅支持对当前编辑变量调用的方法进行简单补全。这些工具借助程序分析,但会生成大量出现可能性相同的候选代码,尽管这些候选代码在语法或语义上是有效的,但按字母顺序排列的冗长建议列表对开发者帮助不大。
随着领域的发展,为了改善候选代码的排序,其他代码补全方法开始利用软件挖掘和信息检索技术。通过挖掘,代码补全(CC)工具可以推荐并优先排序更频繁出现的代码(即代码模式)。然而,基于软件挖掘的代码补全方法存在一些问题,例如对频繁代码设置硬阈值,以及无法补全罕见代码。因此,统计方法被提出以改进代码补全的这两个方面,这些方法可以隐式地推导代码模式并建议要补全的代码。最后,机器学习和深度学习的进展为研究人员提供了更多机会来进一步学习推荐下一个程序单元。
其他用于代码补全的神经模型
- 指针混合网络 :Li等人提出了指针混合网络,该网络可以通过从全局词汇表生成或从局部上下文中复制单词来预测下一个单词。其原理是,在编码时变量往往会在局部重复出现,变量名可能会多次重复且频率相对较高。当预测未知单词时,该模型会学习在局部上下文中选择一个位置,并复制该位置的单词作为预测结果。该工具通过两个组件实现预测,前者任务的第一个组件是带有注意力机制的标准循环神经网络(RNN),称为全局RNN组件;后者任务使用共享相同RNN架构和注意力分数的指针网络。
- 使Transformer架构感知源代码语法结构的方法 :Kim等
超级会员免费看
订阅专栏 解锁全文
1338

被折叠的 条评论
为什么被折叠?



