AI编程助手大比拼:哪款是你的最佳拍档?
作者: 叶赛文 来源: 叶赛文
我尝试了多种 AI 编程助手,这些是最佳选择 ;如何选择编程AI工具?
内容简介:
本文原作者是The PyCoach,在medium上拥有14万粉丝的程序员。 他历经数月,测试了5款辅助编程的AI工具,总结了这些工具的优劣。
编程新手及老手,可以从中获得参考。
原作者:The PyCoach,叶赛文编译。 推荐理由:实用,高赞(1400赞)
工具名称用途特点
ChatGPT/Bard 学习新编程概念 广泛任务适用,信息丰富
CodiumAI 代码测试 注重速度和效率,实时反馈
GitHub Copilot 通用编程辅助 实时代码编写,交互式辅助
AWS Code Whisperer 高级编程 AWS集成,适合经验丰富的开发者
Tabnine 高级编程 代码自动完成,智能预测
(图片由Midjourney生成)
正文:
在过去的几个月里,为了让编程工作更轻松,我尝试了不同的 AI 编程助手。
市场上有很多工具,但没有一个是完美的。如果你正在学习编程,有些可能更方便;而如果你想测试代码,另一些可能更合适。
以下是我发现的最佳 AI 编程助手。
unsetunset1. GitHub Copilot:我最喜欢的通用编程助手unsetunset
GitHub 的 AI 工具对实时编码来说是一个游戏规则改变者。它酷的地方在于它提供了类似于 ChatGPT 的交互方式,但专注于编码。另外,它还能够继续构建您正在编辑器中处理的程序。
一个特别吸引我的功能是聊天功能。你可以直接询问它如何构建函数或消除代码特定部分的任何疑问。就像有一个编程大师随时待命,准备提供见解或解决方案。
示例:定义 斐波那契
另一个我喜欢的功能是Copilot不会在给出响应后停止。它会继续进行,提供我可能想要问的下一个问题或考虑的事情。这就像与你的代码进行持续的对话。
此外,还有一个功能可以将建议的代码移动到你的编辑器中。这创造了一个无缝的流程,让你在聊天和编辑器之间来回切换。
对于那些喜欢在编辑器中多任务处理的人,你可以通过按Ctrl + i来获取Copilot聊天。
这里有一些我最喜欢的命令:
-
深入研究代码:/explain
-
解决代码问题或修复代码:/fix
-
对代码进行测试:/tests
我不得不说Copilot是我最喜欢的工具之一。它就像把ChatGPT的最佳部分直接集成到你的IDE中,使编程变得轻松且更高效。
你可以将GitHub Copilot扩展添加到Visual Studio Code、Visual Studio、JetBrains和Neovim中。
unsetunset2.CodiumAI:适合测试unsetunset
CodiumAI的不同之处在于它的功能,与其他AI工具相比,这些功能令人耳目一新。它不仅关注代码补全,还专注于测试我们的代码并提供改进的方法。
这个功能在项目开发中特别有用,能够准确地指出弱点和潜在的安全漏洞。
CodiumAI助手不仅识别问题;它更进一步,建议我们可以创建的测试(如果它们还不存在的话)。此外,还有一个与每个测试互动的选项,让我们更紧密地调整它们以满足我们的需求。
CodiumAI还提供代码解释。它从输入和代码流到输出和示例,分解了所有内容。文档水平令人惊叹。
这是我最近一直在使用的最好的测试生成器。它发挥了自己的优势,专注于运行测试并给出一些很好的建议。
unsetunset3.AWS Code Whisperer:适用于编写与亚马逊生态系统相关的应用程序unsetunset
像其他AI编程辅助工具一样,AWS Code Whisperer允许我们在IDE中生成代码建议,从小片段到整个函数。
但是,除了通用的代码建议外,这个工具还设计用来提供使用AWS API的代码建议。如果你正在编写与亚马逊生态系统相关的应用程序,这个编程辅助工具将比其他工具更有用。
这里有一个我喜欢的功能。如果你在编辑器中写一个关于你正在构思的功能的评论,几秒钟后你的想法就会变成代码。
这个工具还提供了它建议的代码的参考,但当你尝试遵循这些参考时,它们有时会指向无法工作的链接。
unsetunset4.Tabnine:一个直观的编程伙伴unsetunset
这个编程辅助工具的突出特点是它能够预测我们想要编码的内容,轻松地填补空白。
例如,如果我想要一个创建列表的函数。我只需要给函数一个合适的名字,
这个编程辅助工具就会自动完成函数。
此外,Tabnine的聊天功能非常有用。它允许我们在编辑器中询问我们正在构建的代码的问题。就像有一个编程伙伴就在你身边,随时准备解决出现的任何编程问题。
让我们创建一个提示来测试这个功能。
输入函数在输入大小增加时如何影响内存使用量?
现在,让我们弄乱初始函数并询问编程辅助工具是否能修复代码。
我在代码中遇到了create_list函数的问题。你能帮助我识别任何潜在的错误并建议如何修复它们吗?
这是反馈。
现在,让我们看看这个AI编程辅助工具有哪些命令。
/explain-code
如果我们想要为测试我们创建的函数创建场景,我们使用这个命令:
/generate-test-for-code
还不错!我希望能有更多的具体例子来突出显示函数的内在限制。
另一方面,我们也可以让AI自动填充示例,就像我们在编辑器中创建create_list函数时所做的那样。
这个AI编程辅助工具是一个时间节省器,让我们不必一行行地输入代码。尽管如此,还有改进的空间。
unsetunset5.ChatGPT/Bard:对于学习编程来说是惊人的unsetunset
ChatGPT和Bard适用于广泛的任务,编程是其中之一。
然而,聊天机器人可能不总是最佳选择。这主要是因为它们倾向于加入大量的额外信息。
当然,我们可以通过深入提示工程来优化这一点,但对于那些不太熟悉这些技术的人来说,这可能是一个障碍。
为一个函数编写Python代码,该函数将列表的元素相加
草拟一组测试用例
至于Bard,在功能上,它与ChatGPT几乎处于同一水平。Bard更透明地展示了它从哪里获取代码响应的来源,但它容易出错,经常错过目标。
对我来说,切换ChatGPT/Bard的界面和常规代码编辑器并不是什么大问题,尤其是当我正在学习新的编程概念时。
但现在,专门的编程辅助工具是量身定制的,以支持我们在开发和测试代码方面的,为什么要选择于聊天机器人呢?
unsetunset总结unsetunset
在掌握新的编程概念方面,我肯定会使用ChatGPT或Bard。它们就像信息金矿,提供对我们好奇的任何内容的深入探讨。
CodiumAI适用于代码测试。它注重速度和效率,提供实时反馈,指出潜在的陷阱。
GitHub Copilot是我首选的通用编程辅助工具。
经验丰富的程序员也可以从像AWS Code Whisperer和Tabnine这样的编程辅助工具中受益。
最终的选择将取决于您的目标。
unsetunset好工具推荐unsetunset
一个集美剧、音乐和AI工具为一体的服务商:
优惠码: ysw ,有九折优惠
更多AI工具,参考Github-AiBard123,国内AiBard123