GitHub Copilot 体验:远超预期,但饭碗还在

2021-07-26 00:33:29 +08:00
 dingwen07

前言

前几天收到邮件告诉我可以使用 GitHub Copilot 了,简单地体验了一下。图片中灰色的字体是 Copilot 补全的。

测试环节

排序算法

首先试一下直接用“sort”,可以看到联想出的方法使用了 Python 内置的排序

同时也告知了可以用快捷键切换推荐或者接受

既然“sort”用的是默认排序那试试指定算法,可以看到能够联想出指定的算法

好家伙,离谱起来了,输了个“def”就联想出了插入排序

归并排序似乎也没有问题

快排

桶排序

Alt+[/]切换推荐可以看到不同的写法

现在排序算法生成完了,需要测试,换两行后

它发现了我想要测试,于是推荐了一些代码用于测试(虽然数据非常不对)

下面是我只按TabEnter得到的代码

很明显测试用的数据不对劲,选择第 90 行并切换推荐([4, 5, 3, 1, 2]也是 Copilot 推荐的),更正完第一个之后后续所有测试数据均能够正确联想

运行程序,发现桶排序出错了

更换推荐,这个看起来不错,稍加修改,就好了

忘了最重要的冒泡排序,也没有问题

其他测试

接下来看看实际写代码时表现怎么样

数据生成

如果我想生成一个数组用于测试,那会很方便

遍历也能联想出来

字符串数组也一样

不仅是数组,元组也是可以的

写类

能根据类名猜成员变量并自动帮你写内置方法

接下来我想写一个Student

构建器和成员变量看起来不错,假如我还需要一个__str__方法

接下来需要测试一下这个类,测试数据的生成非常智能,连自己写的类都可以

再写一个类,这个类需要实现传入 Python 脚本文件路径,读取并保存内容和文件名。Copilot 一开始没有猜中我想干啥,但是我们继续。

设置构建器参数后,它猜的准了一些,但还没完全猜中

当我输入到一半的时候,它完全猜中了我想干啥并正确地补全代码,甚至还在下一行为我推荐保存文件路径(图片没有展示)。

接下来它知道了我想要读取文件内容,并正确地进行了补全

另一个用于打印的内置方法也能自动推荐,我只需要按照我的需求稍加改动即可

测试数据生成也一如既往的给力

偶然发现的

写一个脚本的时候发现很多常用的语句都能自动补全,比如写入文件时需要判断路径是否存在,而我在写到一半的时候 Copilot 就完整地联想了整个代码段

总结

Copilot 应该能够一定程度上提高写代码的效率,它的智能化超出了我的预期,之前还以为只能用来自动写一些常用的方法。在体验过程中我还发现它会学习用户写的代码(风格),变得越来越好用。当然 Copilot 不能帮你自动写代码,从需求直接生成代码还是不可能的(饭碗还在)。

6229 次点击
所在节点    GitHub Copilot
23 条回复
maoxs2
2021-07-27 01:23:22 +08:00
最绝的是写博客还能给你用中文联想整句话。。。
aitaii
2021-08-03 13:18:53 +08:00
@maoxs2 这就有点骚了
lamysafari
2021-11-02 11:20:17 +08:00
@TinyKube 同步一下是啥意思?咋同步?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/791705

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX