首页 > 其他分享 >使用AI辅助写代码

使用AI辅助写代码

时间:2023-11-29 11:35:00浏览次数:42  
标签:场景 辅助 补全 AI 代码 Copilot com

市面上的AI写代码

GitHub +OpenAI 出品的Copilot:https://copilot.github.com/

Tabnie:Code Faster with AI Code Completions | Tabnine

Kite:https://github.com/kiteco,2022.11.16已停止服务

Machine Learning Code Completion:jetbrains系列自带的插件


支持工具:jetbrains全系列,vs/vscode,也就是常见的编程工程都支持

支持语言:目前常见的编程语言都支持

网易自研的

网易自研的CodeMaker:CodeMaker 智能开发平台 (netease.com)

网易自研的AIRCoder:https://aircoder.netease.com/


AI辅助写代码

适用场景

  • 一些常用的接口和代码逻辑,自动补全
  • 可以根据写注释、或者注释+函数名,自动补全
  • 重复性的或者相似性较高的代码,几乎可以一键补全(比如增删查改的接口)
  • 一些API忘了怎么写,需要Google的时候

不适用场景

  • 复杂逻辑的场景基本不适用
  • 代码上下文相似度较小的场景不适用
  • 保密需求高的项目不适用

一些弊端

  • 代码需要严格Review,可能引入隐藏Bug
  • 非必要的代码提示过于频繁,影响正常编码
  • 新手过于依赖,不利于编码能力的提升
  • 有保密项目和敏感代码应该严禁使用

安全

对于我们来说,最关心的问题就是我们的代码会不会被用来训练。根据Copilot安装的时候的设置项,有一个勾选框:Allow Github to use my code snippets for product improvements. 可以不勾选这个。

价格

之前Copilot在内测期间一直是免费的,但是最近开始收费,有60天的试用期,之后每月10美元。

Tabnie可以免费使用

总结

综合来看,越是重复性代码较多、程序结构相对固定、相对通用的开发场景,Copilot可以提升的效率越为明显。而越是创新性较强、代码原创性高、或者公司内部特有的一些开发场景,则Copilot提升效率较为有限。

相反,如果是一些更为通用的开发场景,项目的保密程度不高,可以接受上面提到的隐私性问题,那么10%左右的效率提升还是相当可观的一个提升



标签:场景,辅助,补全,AI,代码,Copilot,com
From: https://blog.51cto.com/zhaoqingqing/8612970

相关文章

  • 华三服务器通过HDM快速配置raid做系统
    HDM默认IP地址:192.168.1.2ip地址可通过启动界面确认默认用户名:admin默认密码:Password@_PC访问HDM登录界面:  使用H5KVM模式启动 开启后按F10,进入raid配置界面(右上角导入系统镜像)   选定后重启系统按F7 因为我的镜像太大了,刻录到U盘中,所以选择U盘启动,如果......
  • [ABC277G] Random Walk to Millionaire 题解
    题目链接点击打开链接题目解法首先\(O(n^3)\)的\(dp\)是显然的,令\(f_{i,j,k}\)为第\(i\)步在\(j\),当前等级为\(k\)的\([i,n]\)步获得钱数的期望,转移枚举出边即可一个很妙的优化是:贡献都是\(k^2\)的形式,所以我们考虑维护\(k\)的\(0,1,2\)次幂,即\(\sum,\sum......
  • 亚马逊云科技基于 Polygon 推出首款 Amazon Managed Blockchain Access,助 Web3 开发人
     2023年11月26日,亚马逊(Amazon)旗下AmazonWebServices(Amazon)在其官方博客上宣布,AmazonManagedBlockchain(AMB)Access已支持PolygonProof-of-Stake(POS)网络,并将满足各种场景的需求,包括需要以高可用方式频繁访问PolygonJSON-RPCAPI的场景以及需要间歇性、不......
  • java 打包后jmeter使用Invalid signature file digest for Manifest main attributes
    ideal编写代码后,打包了一个jar是连关联的第三方jar一起打的用到jmeter后置处理器中报错:InvalidsignaturefiledigestforManifestmainattributes解决方案1:(手动删除文件) 通过压缩软件查看程序生成的jar包,可以看到META文件下有.SF,.DSA结尾的文件,手动删除后,再查看该......
  • docker故障:driver failed programming external connectivity on endpoint
    故障现象Errorresponsefromdaemon:driverfailedprogrammingexternalconnectivityonendpointjenkins(ffdc7c9cda72c575d6b045574d1432b256603a3d986a05da319ab7f3af233755):(iptablesfailed:iptables--wait-tnat-ADOCKER-ptcp-d0/0--dport50000-jDN......
  • SPSS Modeler分析物流发货明细数据:K-MEANS(K均值)聚类和Apriori关联规则挖掘|附代码数据
    物流发货明细数据在现代物流业中扮演着至关重要的角色。通过对这些数据进行挖掘和分析,我们可以发现隐含在背后的供应链运营规律和商业模式,从而指导企业在物流策略、成本管理和客户服务等方面做出更加科学和有效的决策。SPSSModeler是一款功能强大、界面友好的数据挖掘和分析工具,......
  • R语言贝叶斯Metropolis-Hastings Gibbs 吉布斯采样器估计变点指数分布分析泊松过程车
    最近我们被客户要求撰写关于吉布斯采样器的研究报告,包括一些图形和统计输出。指数分布是泊松过程中事件之间时间的概率分布,因此它用于预测到下一个事件的等待时间,例如,您需要在公共汽车站等待的时间,直到下一班车到了。在本文中,我们将使用指数分布,假设它的参数λ,即事件之间的平均......
  • 基于群晖存储的VAAI研究(一)
    VAAI是什么可以百度,这里不展开说了。iSCSI先看一下群晖上创建的两种iSCSI的LUN,分别是thin和thick可以看到两种类型都能支持硬件加速但两种类型对VAAI支持的程度不一样,thin是4种,thick是3种NFS对于NFS,需要在ESXi安装群晖提供的插件,然后重启主机,才能打开NFS的VAAI[root@localhost:/v......
  • Chat2DB高颜值、免费开源、集成AI的数据库客户端
     Chat2DB是一款有开源免费的多数据库客户端工具,支持windows、mac本地安装,也支持服务器端部署,web网页访问。和传统的数据库客户端软件Navicat、DBeaver相比Chat2DB集成了AIGC的能力,能够将自然语言转换为SQL,也可以将SQL转换为自然语言,可以给出研发人员SQL的优化建......
  • python利用with语句分割长函数代码块的小技巧
    如果某个函数实现很长,有时候希望把函数分割成若干部分,并且可以折叠,执行时能够打印日志.可以采用下面的办法来实现:frommylogimportloggerimporttimeclassMyTask:def__init__(self,task:str)->None:self.task:str=taskself.start_time......