前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >有感:GitHub Copilot作为程序员的AI副驾驶,合格吗?

有感:GitHub Copilot作为程序员的AI副驾驶,合格吗?

作者头像
程序视点
发布2024-04-13 20:02:26
1040
发布2024-04-13 20:02:26
举报
文章被收录于专栏:程序小小事程序小小事
将程序视点设为星标精品文章第一时间阅读

大家好,欢迎来到程序视点!我是小二哥。

前言

从2023年下半年起,小二哥个人就开始使用GitHub Copilot了。不论是个人项目还是编写一般的示例代码,我都从GitHub Copilot的辅助编程中受益良多。

今天,我想从一个开发者的角度出发,谈谈我使用过GitHub Copilot后的一些想法。

(注:后续内容仅代表我个人主观体验,不能完全代表所有使用者的使用感受。)

这个 AI 副驾驶员合格吗?

大家或许在网上已经看过不少对 Copilot 补全效果「一惊一乍」的描述,但不得不承认,我使用 Copilot 的初期感受也是这样的!

GitHub Copilot似乎真的就好像一个无所不知的程序员,按注释所描述的那样去生成符合要求的代码。

比如现在我有一个需求:用 Python 提取少数派首页文章的标题

如果让我手码代码,我的思路是三步走:

  • (1) 通过异步请求的方式访问少数派的官方首页,然后
  • (2) 解析使用一个名为 BeautifulSoup 的第三方库解析请求后响应到的 HTML 源码
  • (3) 从当中提取 <title></title> 元素节点中的内容。

在拥有GitHub Copilot后,我可以直接写一段描述程序功能的注释,然后 Copilot 就给出了如下代码:

这是GitHub Copilot让我惊讶的地方。

  • GitHub Copilot,在我没有定义样板代码的情况下,能从相对简单的需求描述中自动生成符合要求的代码。
  • GitHub Copilot生成的这段代码没有太大问题。写得也有板有眼,甚至还顺手帮我们按照标准库、第三方库的规范顺序导入使用到的库,完成度在 90% 甚至更高。
  • 尽管我不擅长Python编程,也能顺利地完成这个功能。

但另一方面,GitHub Copilot也不是完美的。如果以复杂的现实需求来考察,它还显得太「稚嫩」了一些。

在现实世界中,对于一个有经验的程序员,或是身经百战(与产品经理 Battle 成百上千次)的「摸鱼达人」来说,在看似唾手可得的需求之下总会深埋着一些描述里没有的细节。恰恰这些是需要充分考虑的。

明确告诉大家,GitHub Copilot目前还不足以做到上面这一步。每一个项目,无论简单与否,程序员和产品经理总是要来往好几个回合的!不要期待GitHub Copilot一次帮你搞定!

当然,尽管 Copilot 面对复杂需求还是成熟度不足,但并不能以此否认它的价值。就拿最典型的就是单元测试来说,就为我们提高了不少效率、节省了不少时间

只需要一个/tests指令,GitHub Copilot就能帮我们很好地生成一些「好像是那么一回事」的单元测试。

对于开发人员来说,测试是枯燥但又不可或缺的。有了GitHub Copilot的加持,我们的头发可以为测试少操心啦!(更多使用示例,请查看之前的文章)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序视点 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 这个 AI 副驾驶员合格吗?
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档