一、开篇
1.1 引用
人类天生就梦想、创造、创新。但今天,我们花太多时间被繁重的工作所消耗,花在消耗我们时间、创造力和精力的任务上。为了重新连接我们工作的灵魂,我们不仅需要一种更好的方式来做同样的事情,更需要一种全新的工作方式。
1.2 简讯
最近,随着GPT-4 植入 Office 全家桶,几秒钟就能够做成 PPT、Excel文档,办公软件应用无缝衔接,在工作中解放双手,不得不说的确很强!尚能饭否?感叹其背后拥有如此巨大的知识库跟算力去支撑!当我们还沉浸在-传统的工作方式是否终将被颠覆?在研发编程领域,开发者工程师们的得力助手GitHub Copilot 的诞生,想必更是让我们由衷感叹其如此强悍!
二、场景
2.1 代码扫描检查
众所周知,GitHub 代码仓库跟 SonarQube 这类代码扫描工具都有 ES 的影子,协助研发做代码的管理、版本diff,以及潜在问题扫描检查有着极其重大的意义!
上述是 SonarQube 做 CodeReview 的效果,此伪代码存在 BUG 大名鼎鼎的空指针!!!
而换成 AI 工具,我们来看一下ChatGPT如何随机应变?可见ta在下述回答中规中矩,"有智慧的回答",明显能够看出其上下文关联性很强!!!
2.2 代码智能生成
我们这里浅尝试下单方法以及算法,比如耳熟能详的数据结构算法,快速排序、冒泡排序、二分查找...
由此可见,AI可以协助我们开发者完成自动补全代码块、单方法以及函数,并根据代码注释提示自动生成可运行的代码片段。
在使用 Microsoft Visual Studio、Vim、Visual Studio Code、JetBrains 集成开发环境,通过 Copilot 工具无疑是大大提升了广大开发者的生产力,节省了研发查阅资料的时间,使得研发效率大幅度提升。
这注将是一个划时代的产品,随着OpenAI训练的数据集不断扩展,将各种开发语言有针对性地进行训练,想必在很多垂直领域上会带来更大地突破,帮助开发人员将编程速度提高到不可思议的地步。
我们也结合到实际项目中,再来上一些示例:
那就让 Copilot 帮我们封装一个websocket.js,用于连接websocket...
从上述可知,我们看到 AI 给我们提供了多种解决方式以供参考。在如此短时间内,你的提示语无疑成了拥有巨大生产力 AI 工具的媒介,特别是当遇到需要检索资料时,尤其是针对SQL或DSL脚本写不出来的情况下,可以借力于 Copilot ,这不仅缩减了google一下的时间,还能够协助你补全并完善相关事项,提高软件开发的效率以及工作的满意度,这将是一种从传统编程向有智慧、有意识思维模式的转变...
随着 OpenAI 的 GPT-4 模型的不断演进,其能力还远不如此,还有更多功能值得我们去挖掘-工作中得力伙伴,特别是将其集成到我们开发人员工作流程各个部分中去,比如像 TFS 中我们开发者 Git 代码仓库版本的管理-团队协作:
在一个大型开源项目维护过程中,有规范的提交(PR)对于我们开发者是及其重要的,好的 pr 描述不仅能让代码审查工作人员一目了然,还可以协助审阅者快速了解 Code 变动情况,提升了沟通效率的同时,又减少了合并过程中出错的可能性。
三、思考延伸
前沿&拓展
当我们开发者创建 pr 时,AI 若是能够标记动态提取代码,并分析代码的变更信息,帮我们自动生成描述及建议,这样我们开发人员就可以查看或修改建议的描述即可。
当我们开发者创建 pr 时,发现提交缺少足够的测试,AI 若是能够智能提醒我们开发人员,并给出解决策略,协助审查工作人员解决问题以及 Bug 修复。
这无疑是降低了在代码审查环节的时间成本。当下,一般都是开发人员通过搜索引擎查阅相关资料文档,AI 这一来同时改变了人们检索信息的方式与习惯,这样,我们更多需要与 AI 传达较为准确的信息媒介就是-提示词。
接下来,我们来看 AI 更多的应用案例-Case:
四、接入指南
4.1 注册 GitHub 账号
4.2 申请试用
4.3 安装代码编辑器
4.4 安装 GitHub Copilot 插件
以 Visual Studio Code 为例(下载->code.visualstudio.com)
接着,进入 Extensions 面板,在搜索框中输入回车,在搜索结果中找到插件并选择相应的插件点击安装,如下:
然后,待安装完成后,单击工具底部状态栏中的 GitHub Copilot 图标,进入 GitHub Copilot ,可以选择使用 GitHub 账户登录。在使用 GitHub Copilot 插件过程中,像我们在上述给的示例中,即在编辑器中输入关键字或者你想要实现效果的提示语句,GitHub Copilot 会自动出现一个提示框,我们就可以选择其中的建议代码了,或者还可以继续输入提示,获得更多我们想要的建议,当然,也可以手动编辑并校正代码来达到我们预期的效果。
五、总结
回顾&憧憬
的确,DT&AI时代,AI类创新性产品的出现,无疑给开发者带来了巨大的冲击。但是,作为开发者的我们,应以积极的态度去面对,拥抱技术,提高我们自身的知识技能,学会借助并运用工具,从而更好地适应技术的发展。
文末,这里对使用 Copilot 感兴趣的朋友也提供了一些快捷键,使用技巧: