AI编程助手大比拼:哪款是你的最佳拍档?

我尝试了多种 AI 编程助手,这些是最佳选择 ;如何选择编程AI工具?

内容简介:

本文原作者是The PyCoach,在medium上拥有14万粉丝的程序员。 他历经数月,测试了5款辅助编程的AI工具,总结了这些工具的优劣。

编程新手及老手,可以从中获得参考。

原作者:The PyCoach,叶赛文编译。 推荐理由:实用,高赞(1400赞)

原文链接: https://medium.com/artificial-corner/i-tried-multiple-ai-coding-assistants-these-are-the-best-bb4d6a735fc1

工具名称用途特点
ChatGPT/Bard学习新编程概念广泛任务适用,信息丰富
CodiumAI代码测试注重速度和效率,实时反馈
GitHub Copilot通用编程辅助实时代码编写,交互式辅助
AWS Code Whisperer高级编程AWS集成,适合经验丰富的开发者
Tabnine高级编程代码自动完成,智能预测

(图片由Midjourney生成)


正文:

在过去的几个月里,为了让编程工作更轻松,我尝试了不同的 AI 编程助手。

市场上有很多工具,但没有一个是完美的。如果你正在学习编程,有些可能更方便;而如果你想测试代码,另一些可能更合适。

以下是我发现的最佳 AI 编程助手。

1. GitHub Copilot:我最喜欢的通用编程助手

GitHub 的 AI 工具对实时编码来说是一个游戏规则改变者。它酷的地方在于它提供了类似于 ChatGPT 的交互方式,但专注于编码。另外,它还能够继续构建您正在编辑器中处理的程序。

一个特别吸引我的功能是聊天功能。你可以直接询问它如何构建函数或消除代码特定部分的任何疑问。就像有一个编程大师随时待命,准备提供见解或解决方案。

示例:定义 斐波那契

另一个我喜欢的功能是Copilot不会在给出响应后停止。它会继续进行,提供我可能想要问的下一个问题或考虑的事情。这就像与你的代码进行持续的对话。

此外,还有一个功能可以将建议的代码移动到你的编辑器中。这创造了一个无缝的流程,让你在聊天和编辑器之间来回切换。

对于那些喜欢在编辑器中多任务处理的人,你可以通过按Ctrl + i来获取Copilot聊天。

这里有一些我最喜欢的命令:

  • 深入研究代码:/explain
  • 解决代码问题或修复代码:/fix
  • 对代码进行测试:/tests

我不得不说Copilot是我最喜欢的工具之一。它就像把ChatGPT的最佳部分直接集成到你的IDE中,使编程变得轻松且更高效。

你可以将GitHub Copilot扩展添加到Visual Studio Code、Visual Studio、JetBrains和Neovim中。

2.CodiumAI:适合测试

CodiumAI的不同之处在于它的功能,与其他AI工具相比,这些功能令人耳目一新。它不仅关注代码补全,还专注于测试我们的代码并提供改进的方法。

这个功能在项目开发中特别有用,能够准确地指出弱点和潜在的安全漏洞。

CodiumAI助手不仅识别问题;它更进一步,建议我们可以创建的测试(如果它们还不存在的话)。此外,还有一个与每个测试互动的选项,让我们更紧密地调整它们以满足我们的需求。

CodiumAI还提供代码解释。它从输入和代码流到输出和示例,分解了所有内容。文档水平令人惊叹。

这是我最近一直在使用的最好的测试生成器。它发挥了自己的优势,专注于运行测试并给出一些很好的建议。

3.AWS Code Whisperer:适用于编写与亚马逊生态系统相关的应用程序

像其他AI编程辅助工具一样,AWS Code Whisperer允许我们在IDE中生成代码建议,从小片段到整个函数。

但是,除了通用的代码建议外,这个工具还设计用来提供使用AWS API的代码建议。如果你正在编写与亚马逊生态系统相关的应用程序,这个编程辅助工具将比其他工具更有用。

这里有一个我喜欢的功能。如果你在编辑器中写一个关于你正在构思的功能的评论,几秒钟后你的想法就会变成代码。

这个工具还提供了它建议的代码的参考,但当你尝试遵循这些参考时,它们有时会指向无法工作的链接。

4.Tabnine:一个直观的编程伙伴

这个编程辅助工具的突出特点是它能够预测我们想要编码的内容,轻松地填补空白。

例如,如果我想要一个创建列表的函数。我只需要给函数一个合适的名字,

这个编程辅助工具就会自动完成函数。

此外,Tabnine的聊天功能非常有用。它允许我们在编辑器中询问我们正在构建的代码的问题。就像有一个编程伙伴就在你身边,随时准备解决出现的任何编程问题。

让我们创建一个提示来测试这个功能。

输入函数在输入大小增加时如何影响内存使用量?

现在,让我们弄乱初始函数并询问编程辅助工具是否能修复代码。

我在代码中遇到了create_list函数的问题。你能帮助我识别任何潜在的错误并建议如何修复它们吗?

这是反馈。

现在,让我们看看这个AI编程辅助工具有哪些命令。

/explain-code

如果我们想要为测试我们创建的函数创建场景,我们使用这个命令:

/generate-test-for-code

还不错!我希望能有更多的具体例子来突出显示函数的内在限制。

另一方面,我们也可以让AI自动填充示例,就像我们在编辑器中创建create_list函数时所做的那样。

这个AI编程辅助工具是一个时间节省器,让我们不必一行行地输入代码。尽管如此,还有改进的空间。

5.ChatGPT/Bard:对于学习编程来说是惊人的

ChatGPT和Bard适用于广泛的任务,编程是其中之一。

然而,聊天机器人可能不总是最佳选择。这主要是因为它们倾向于加入大量的额外信息。

当然,我们可以通过深入提示工程来优化这一点,但对于那些不太熟悉这些技术的人来说,这可能是一个障碍。

为一个函数编写Python代码,该函数将列表的元素相加

草拟一组测试用例

至于Bard,在功能上,它与ChatGPT几乎处于同一水平。Bard更透明地展示了它从哪里获取代码响应的来源,但它容易出错,经常错过目标。

对我来说,切换ChatGPT/Bard的界面和常规代码编辑器并不是什么大问题,尤其是当我正在学习新的编程概念时。

但现在,专门的编程辅助工具是量身定制的,以支持我们在开发和测试代码方面的,为什么要选择于聊天机器人呢?

总结

在掌握新的编程概念方面,我肯定会使用ChatGPT或Bard。它们就像信息金矿,提供对我们好奇的任何内容的深入探讨。

CodiumAI适用于代码测试。它注重速度和效率,提供实时反馈,指出潜在的陷阱。

GitHub Copilot是我首选的通用编程辅助工具。

经验丰富的程序员也可以从像AWS Code Whisperer和Tabnine这样的编程辅助工具中受益。

最终的选择将取决于您的目标。

好工具推荐

一个集美剧、音乐和AI工具为一体的服务商:

http://mrw.so/6gAybQ

优惠码: ysw ,有九折优惠

近期文章

发表评论