
目前该产品已经在Vscode extenison中上线。作为长期面向Google编程的小白,当然是偷懒等不了明天,早早在官网排队等待试用名额,幸运地在一两周前获得了试用机会。
一周的体验下来,我认为Copilot的功能相较于其他代码补齐工具而言更加强大,更加灵活,甚至有时让我有种仿佛Copilot真的能读懂我的想法和代码,并且将其实现的感觉。显著提高了写码效率。
大家对GPT-3并不陌生 - 或许是2020年最火的自然语言处理模型,训练成本接近500万元,模型参数超过1750亿个。他是一个自回归模型,通俗理解就是输入一段文本的前一部分,预测接下来的文本的概率分布。GTP-3 自问世以来就被开发成几十个大大小小的不同应用,例如进行一些创作性写作(诗歌,小说等),编写前端代码(debuild.co)等等。
鲁迅曾经说过,XXX是最好的语言,既然GTP-3在语言方面如此有天赋,那么在写代码方面应该也会有所建树吧。果然CodeX - 基于GTP-3微调后的编程语言版本也在不久后问世,而Copilot正是CodeX的第一个商业化应用。
Copilot官网中列举了Copilot的四个使用方向:
可以说,如果真的能实现上述所说的四点,那么真的是可以极大地提高代码编写效率,在拿到试用资格后,我就如上几点进行了体验和测试,究竟能不能达到官网上所说的神奇效果呢?
首先我创建了一个新的项目,正巧当时打算瞄一眼比特币的价格,对了,要不让Copilot帮我写一个吧!我在注释中定义了想要的函数,看看Copilot能不能读懂我的意思呢?
第一次运行的时候我实实在在地被“惊吓”到了,Copilot似乎是理解了我的注释,刚开始定义函数,Copilot就迫不及待给我推荐了传入的参数,紧接着又推荐了完整的函数代码。虽然之前也存在类似语言转代码生成工具,但是使用的丝滑橡逗昌程度和生成代码的准确度上,个人感觉Copilot都遥遥领先于其他工具。
更多时候,我们需要在已有代码上进行添加或者修改,其中不乏需要写一些功能,格式较为相似的函数。有时我会选择直接复制粘贴函数然后进行修改,但是一旦需要修改的变量较多,往往会遗漏导致测试时报错。那么在类似场景下,Copilot是否能给我们提供一个更合适的“参考答案”呢?
我用以下代码进行了一个简单测试,在DeepaiImageApi模块中,我想要通过两个不同函数分别实现将图片数据和图片url传给DeepAI提供的API接口。在我定义了第一个函数方法之后,来看看Copilot是否能根据我的注释直接生成我想要的代码吧:
结果是非常Amazing啊,可以看出Copilot不仅提供了符合范式的函数名,代码以及符合项目代码的参数调用,并且对函数内容也有相对应的改动(request.post中传入的files参数由image变成了url)。说明copilot的确将本地文件中的代码作为了模型的输入值,并且很好地“理解”了代码中的重要特征,如格式,规范,结构等等。
总体而言,虽然Copilot生成的代码在多数情况下还需要检查和调整,但是他革命性的代码生成效果还是把初步接触Copilot的我惊艳到了,有时就算程序已经写好,我还是会特意按下Ctrl+Enter查看copilot提供的不同思路和方法。
最后夹带一点点个人观点,有人质疑Copilot成熟以后或许会抢走部分程序员的饭碗,或者让程序员自主思考的能力逐渐退化,作为一个入门码农梁扒来说我目前觉得并不需要担心。Copilot给我的感觉像是一个专门提供给程序员的Google,或是一套整理齐全,索引完备的代码答案库,在面对多数人遇到过的类似问题的时候,可以提高编程效率,减少面向Google编程时搜索合适答案的时间。
而另一方面,GTP-3本质上是一个自回归模型,我们无法依赖其提供给我们更加创新的算法或代指搜码方案,当大多数程序员从重复且枯燥的代码中解放出来的时候,或许会就有更多的人类智慧被利用在创新性的工作中,从而加速行业的进步。
仓库名称 :zh-google-styleguide
拷贝(fork) :1837
贡献人数:47 (众人拾柴火焰高,期待你的加入,成就项目散闷拆,也成就你)
仓库大小 :<1 MB
代码提交周期分布 :
综合推荐指数 : 3颗星
主要语言:Makefile
语言分布:Makefile:39.09%、Batchfile:38.23%、Python:22.68%
Google 开源项目风格指南 (中文版)
本项目并非 Google 官方项目, 而是由国内程序员凭热情创建和维护.
每个较大的开源项目都有自己的风格指南: 关于如何为该项目编写代码的一系列约定 (有时候会比较武冲枣断). 当所有代码均保持一致的风格, 在理解大型代码库时更为轻松.
"风格" 的含义涵盖范围广, 从 "变量使用驼峰格式 (camelCase)" 到 "决不使用全局变量" 再到 "决不使用异常". 英文罩饥版项目维护的是在 Google 使用的编程风格指南. 如果你正在修改的项目源自 Google, 你可能会被引导至 英文版项目页面, 以了解项目所使用的风格.
我们已经发布了五份 中文版 的风格指南:
中文版项目采用 reStructuredText 纯文本标记语法, 并使用 Sphinx 生成 HTML / CHM / PDF 等文档格式.
https://github.com/zh-google-styleguide/zh-google-styleguide
程序员新视界:分享有趣、有料的流行程序员话题,每天进步一点点。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)