大家好,欢迎来到程序视点
!我是小二哥。
从2023年下半年起,小二哥个人就开始使用GitHub Copilot
了。不论是个人项目还是编写一般的示例代码,我都从GitHub Copilot
的辅助编程中受益良多。
今天,我想从一个开发者的角度出发,谈谈我使用过GitHub Copilot
后的一些想法。
(注:后续内容仅代表我个人主观体验,不能完全代表所有使用者的使用感受。)
大家或许在网上已经看过不少对 Copilot 补全效果「一惊一乍」的描述,但不得不承认,我使用 Copilot 的初期感受也是这样的!
GitHub Copilot
似乎真的就好像一个无所不知的程序员,按注释所描述的那样去生成符合要求的代码。
比如现在我有一个需求:用 Python 提取少数派首页文章的标题
。
如果让我手码代码,我的思路是三步走:
在拥有GitHub Copilot
后,我可以直接写一段描述程序功能的注释,然后 Copilot 就给出了如下代码:
这是GitHub Copilot
让我惊讶的地方。
GitHub Copilot
,在我没有定义样板代码的情况下,能从相对简单的需求描述中自动生成符合要求的代码。GitHub Copilot
生成的这段代码没有太大问题。写得也有板有眼,甚至还顺手帮我们按照标准库、第三方库的规范顺序导入使用到的库,完成度在 90% 甚至更高。但另一方面,GitHub Copilot
也不是完美的。如果以复杂的现实需求来考察,它还显得太「稚嫩」了一些。
在现实世界中,对于一个有经验的程序员,或是身经百战(与产品经理 Battle 成百上千次)的「摸鱼达人」来说,在看似唾手可得的需求之下总会深埋着一些描述里没有的细节。恰恰这些是需要充分考虑的。
明确告诉大家,GitHub Copilot
目前还不足以做到上面这一步。每一个项目,无论简单与否,程序员和产品经理总是要来往好几个回合的!不要期待GitHub Copilot
一次帮你搞定!
当然,尽管 Copilot 面对复杂需求还是成熟度不足,但并不能以此否认它的价值。就拿最典型的就是单元测试来说,就为我们提高了不少效率、节省了不少时间。
只需要一个/tests
指令,GitHub Copilot
就能帮我们很好地生成一些「好像是那么一回事」的单元测试。
对于开发人员来说,测试是枯燥但又不可或缺的。有了GitHub Copilot
的加持,我们的头发可以为测试少操心啦!(更多使用示例,请查看之前的文章)