杂谈 | 与 AI 结对编程

2024-06-19 22:57:58 浏览数 (2)

封面封面

前言

不止一次在书上看到“结对编程”(Pair programming)这个概念。第一眼看上去就是老带新学习技术,熟悉环境。但当我在书中看到更多后才了解到,它真的是个不错的成长手段。

一. 什么是结对编程

百度百科中是这样解释的。

结对编程(英语:Pair programming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。

看定义,像是把两人组合在一起写代码,一边写一边CR(code review)。耗费时间这是肯定的,但是对双方的成长也是有很大帮助的。

下面来分析一下不同场景的角色

二. 使用场景

  • 与导师 无论是导师还是工作上的前辈,在此领域的经验一般来说都是高于你,或是编码,或是职场经验。 在学习中,与导师一起编码,先是对前辈代码的模仿,接着悟出自己的编程之道。最后在前辈的审视下,青出于蓝。 而到了工作中,这次导师的职位便不再那么体贴到方方面面。首先,他要在CR中了解到你的实力,在技术上业务上对你指点。喜欢聊天的前辈还会谈一些八卦,办公室的人情世故等。
  • 与同事 同事的角色是平级关系,这个时候的结对编程就是要合并你们的技能面。
  • 与新人 这代表着你到了一定职级,有了更宽广的技术业务视野。发现当前这个人是否有能力胜任岗位,并给于一定指点。

三. AI 时代下的结对编程

22年末,chatgpt横空出世,这让我们CV代码有了更高的效率。

紧接着基于大模型做的 AI 编码助手更是让我们效率翻倍。

腾讯云 AI 代码助手的产品特性腾讯云 AI 代码助手的产品特性

结对编程 AI,完全优化了耗费时间这一缺点,甚至在很多方面上,省去了大量时间成本。

四. AI助手使用心得

语言:React Native

IDE:VSCode

AI 插件: Tencent Cloud AI Code Assistant


语言在国内比较小众,跨平台的特性下,版本迭代比较快。如果你去搜索引擎查找资料,那么大概率得到三四年前的文章。先不论是否正确,带现今版本很多API都停止更新了。

如果是去和对话式AI询问,可能资料是准确的,但由于它取得你的代码上下文比较麻烦,所以无形中叠加了一些无用的工作。

集成在IDE的助手就不一样了,他可以生成代码仅仅通过注释。

比如,我在使用react-native-udp,想要初始化一个服务。可能需要按照github上的仓库去一行一行复制,光是网络环境就能难倒一阵。而AI代码助手:

可以明显看到,生成灰色部分,并且,根据上下文,取得了我变量的命名。现在我觉得,注释有点少,那么可以右键调出补全注释的命令。

左侧对话,有代码生成。并且提示了我下一步可能会做什么。

代码助手的综合对话能力不如纯对话AI,因为他是通过代码领域训练的。

啰嗦一句

AI 不会取代我们,但有可能会取代那些不用AI的人。快来和AI一起结对编程吧!

0 人点赞