市面上的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辅助写代码的更多相关文章

  1. 有个AI陪你一起写代码,是种怎样的体验?| 附ICLR论文

    从前,任何程序的任何功能,都需要一行一行敲出来. 后来,程序猿要写的代码越来越多,世界上便有了各种各样的API,来减少大家的工作量.有些功能,可以让API来帮我们实现. 不过,人类写下的话,API并不 ...

  2. 让 AI 为你写代码 - 体验 Github Copilot

    前几天在群里看到有大神分享 Copoilot AI 写代码,看了几个截图有点不敢相信自己的眼睛.今天赶紧自己也来体验一下 Copoilot AI 写代码到底有多神奇. 申请 现在 Copoilot 还 ...

  3. AI写代码! 神器copilot介绍+安装+使用

    !郑重提示!!!!!!!: 正在学编程.算法的同学请千万不要依赖此插件,否则你可能甚至无法手写出一个for循环 AI帮我写代码?我帮AI写代码?庄周梦蝶?蝶梦庄周?十分梦幻. copilot在VSco ...

  4. 谁能真正替代你?AI辅助编码工具深度对比(chatGPT/Copilot/Cursor/New Bing)

    写在开头 这几个月AI相关新闻的火爆程度大家都已经看见了,作为一个被裹挟在AI时代浪潮中的程序员,在这几个月里我也是异常兴奋和焦虑.甚至都兴奋的不想拖更了.不仅仅兴奋于AI对于我们生产力的全面提升,也 ...

  5. ClownFish:比手写代码还快的通用数据访问层

    http://www.cnblogs.com/fish-li/archive/2012/07/17/ClownFish.html 阅读目录 开始 ClownFish是什么? 比手写代码还快的执行速度 ...

  6. 【腾讯Bugly干货分享】深入理解 ButterKnife,让你的程序学会写代码

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/578753c0c9da73584b025875 0.引子 话说我们做程序员的,都 ...

  7. Github Copilot 比在座各位更会写代码。jpg

    之前大佬和我安利过 Copilot, 作为一个能用就行的践行者, 我一贯对这些东西都不太感兴趣. 就如我多年VS Code写各种编程语言, jetbrains 全家桶我都懒得搞~ 不过最近看到过Cha ...

  8. 使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用程序

    直接切入正题,这是我09年到11年左右业余时间编写的项目,最初的想法很简单,做一个能拖拖拽拽就直接生成应用程序的工具,不用写代码,把能想到的业务操作全部封装起来,通过配置的方式把这些业务操作组织起来运 ...

  9. Markdown: 用写代码的思维写文档

    作者:吴香伟 发表于 2014/08/07 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 本文不讲解Markdown的语法规则,只关注它带来的好处以及我使用的方 ...

  10. 不需要写代码,文件夹右键cmd定位指定目录

    引子 这篇文章其实本来不是这样的,因为我用C#的代码实现了一个程序,后面才突然发现,我太傻太天真了,明明不需要写程序和写代码的,结果自己把自己二住了. 我们来看看效果图. 由于,我自己的原因,这个功能 ...

随机推荐

  1. Spring Boot Admin 离线实例

    一直处于离线状态 spring.boot.admin.client.instance.prefer-ip Use the ip-address rather then the hostname in ...

  2. springboot 整合 ehcahe后,实现缓存数据 应用关闭时序列化(磁盘持久化),重启再加载

    ehcache使用很长时间了,但是却没有用到缓存数据序列化(C#中是这么个说法)与再加载.这次因为业务中需要对缓存数据进行临时存储并再加载使用,实现该功能的方式多种多样.既然ehcache有磁盘保存机 ...

  3. SpringBoot 学习笔记:运维篇

    SpringBoot程序的打包和运行 开发部门使用Git.SVN等版本控制工具上传工程到版本服务器 服务器使用版本控制工具下载工程 服务器上使用Maven工具在当前真机环境下重新构建项目 启动服务 程 ...

  4. Spark SQL 字段血缘在 vivo 互联网的实践

    作者:vivo互联网服务器团队-Hao Guangshi 一.背景 字段血缘是在表处理的过程中将字段的处理过程保留下来.为什么会需要字段血缘呢? 有了字段间的血缘关系,便可以知道数据的来源去处,以及字 ...

  5. Centos7 kubeadm安装k8s

    安装环境准备 关闭防火墙 systemctl stop firewalld systemctl disable firewalld 关闭selinux sed -i 's/enforcing/disa ...

  6. java对base64的图片进行压缩

    目标:用java将图片的base64码压缩到40kb以下. 依赖 <!-- 压缩图片--> <dependency> <groupId>net.coobird< ...

  7. 【驱动】SPI驱动分析(四)-关键API解析

    关键API 设备树 设备树解析 我们以Firefly 的SPI demo 分析下dts中对spi的描述: /* Firefly SPI demo */ &spi1 { spi_demo: sp ...

  8. 运行vue项目时报错“ValidationError: Progress Plugin Invalid Options”

    https://blog.csdn.net/M_Nobody/article/details/123135041?spm=1001.2101.3001.6650.1&utm_medium=di ...

  9. 核心技能之UI库选择

    移动端推荐: vant.cube-ui 有赞vant: https://youzan.github.io/vant/#/zh-CN/ 滴滴cube-ui: https://didi.github.io ...

  10. Hystrix 实现服务熔断与降级

    本文为博主原创,未经允许不得转载: 目录: 1. 服务雪崩,服务熔断,服务降级概念 2. Hystrix 概念 3. Hystrix 使用及默认配置 4. @HystrixCommond 注解使用 5 ...