我尝试了多个AI编码助手,这些是最好的!

我尝试了多个AI编码助手,这些是最好的!

在过去的几个月里,我尝试了不同的人工智能编码助手,以使我的程序员生活更加轻松。

市面上有很多工具,但没有一个是完美的。如果你正在学习编码,其中一种可能更方便,而如果你想测试代码,另一种可能更好。

以下是我发现的最好的人工智能编码助手。如果你想了解更多关于编程的相关内容,可以阅读以下这些文章:
Meta正在做上帝的工作:向世界发布令人震惊的优秀编程模型!
畅销编程书籍中的10个编码秘密
Mojo:比Python快35000倍的AI编程语言
作为一个数据科学家/分析师,不要重复这5个编程错误

GitHub的人工智能工具是实时代码编写的游戏规则改变者。它的酷之处在于它提供了一种类似于ChatGPT的交互风格,但它专注于编码。另外,它有能力继续构建你正在编辑器中工作的程序。

对我来说最突出的一个功能是聊天功能。你可以对它进行关于构造函数的测试,或者消除对代码特定部分的任何疑问。这就像有一个随时待命的编码大师,随时准备提供见解或解决方案。

我很喜欢的另一件事是,Copilot在给出回应后不会停止。它让事情继续发展,提供我接下来可能想问的问题或需要考虑的事情。这就像是在与代码进行持续的对话。

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

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

以下是一些我最喜欢的命令:

  • 深入研究代码:/explain
  • 摆脱困境或修复代码障碍:/fix
  • 对代码进行测试:/tests

我不得不说Copilot是我最喜欢的工具之一。这就像拥有了最好的ChatGPT,但将其融入到你的IDE中,使编码更加轻松和高效。

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

CodiumAI与众不同的是它的功能,与其他AI工具相比,这些功能令人耳目一新。它不只是关注代码完成,而是专注于测试我们的代码,并为我们提供更好的方法。

在进行项目开发时,这个功能非常有用,可以精确地指出薄弱环节和潜在的漏洞。

助理不仅是识别问题,它进一步建议我们可以创建测试(如果它们还不存在)。此外,还可以选择与每个测试交互,调整它们以更紧密地满足我们的需求。

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

这个工具有我最近使用过的最好的测试生成器。它出色地发挥了自己的优势,专注于运行测试并给出一些好的建议。

像其他AI编码助手一样,AWS Code Whisperer允许我们在IDE中生成从小片段到整个功能的代码建议。

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

这是我喜欢的一个功能。如果你在编辑器中写下关于你正在头脑风暴的功能的注释,几秒钟后你的想法就会变成代码。

该工具还为它建议的代码提供了参考,但是当你尝试遵循这些参考时,它们有时会导致无效的链接。

这款编程助手的突出特点是它能够预测我们的目标是编写什么代码,并在编写过程中毫不费力地填补空白。

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

这个编码助手帮我自动完成了这个功能。

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

让我们创建一个提示来测试这个特性。

在create_list函数中,内存使用是如何随着输入的大小而变化的?

现在,让我们把初始函数弄乱,并询问编码助手是否可以修复代码。

我在代码中遇到了create_list函数的问题。你能帮我找出潜在的错误并建议如何解决吗?

以下是反馈。

现在,让我们看看这个人工智能编码助手的一些命令。

/explain-code

如果我们想创建场景来测试我们创建的函数,可以使用以下命令:

/generate-test-for-code

不错!我希望有更具体的例子来说明这个函数的内在局限性。

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

这个人工智能编码助手节省了时间,使我们不必一行一行地输入代码。不过,还有改进的空间。

ChatGPT和Bard适用于各种任务,编码就是其中之一。然而,聊天机器人可能并不总是最好的选择。这主要是因为它们倾向于添加大量额外的信息。当然,我们可以通过深入研究即时工程来简化这一点,但对于那些不太精通这些技术的人来说,这可能是一个障碍。

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

至于Bard,在功能方面,它与ChatGPT差不多。Bard对其代码响应的来源更透明一些,但它容易出现失误,并且经常偏离目标。

对我来说,在ChatGPT/Bard的界面和常规的代码编辑器之间切换并不是什么大问题,特别是如果我正在学习一个新的编码概念。但是现在,专门的编码助手可以帮助我们开发和测试代码,所以为什么要满足于聊天机器人呢?

  1. 当谈到掌握一个新的编程概念时,我肯定会使用ChatGPT或Bard。它们就像信息金矿,让我们深入了解任何我们好奇的东西。
  2. CodiumAI非常适合于代码测试。这一切都是关于速度和效率,在你编写代码时提供实时反馈,并指出潜在的缺陷。
  3. GitHub Copilot是我的通用编码助手。
  4. 经验丰富的程序员也可以从编码助手(如AWS Code Whisperer和Tabnine)中受益。

最终的选择将基于你的目标。

原文作者:The PyCoach
翻译作者:Dou
美工编辑:过儿
校对审稿:Jason
原文链接:https://medium.com/artificial-corner/i-tried-multiple-ai-coding-assistants-these-are-the-best-bb4d6a735fc1