5 种 可帮助开发人员提高工作效率的AI 工具

推荐:使用 NSDT场景编辑器 助你快速搭建3D应用场景

 

5 种 可帮助开发人员提高工作效率的AI 工具

 

如果没有完整的团队,学习新功能或修复旧问题可能会占用不成比例的时间——可能是数小时的搜索、阅读文档和观看教学视频。幸运的是,人工智能的进步大大加快了这一过程。

每个人都立即想到的 AI 巨头是 ChatGPT,它不知何故自 2022 年 <> 月以来才可用。可能感觉它已经很久了,因为人工智能极大地改变了谦虚的开发人员的日常生活。

然而,ChatGPT是相当通用的。人工智能真正闪耀的地方在于为解决开发世界中的特定问题而存在的专用工具。

有很多工具符合此描述,但让我们继续看一下其中的五个工具,并了解它们的用途。跳跃前进:

  1. Phind
  2. bloop.ai
  3. Codeium
  4. ColPat
  5. RegExGPT

在本文末尾,您可以查看总结所有五个 AI 开发工具用例的表格,以更好地了解每个工具如何适应您的工作流程。

如果您打算为开发人员利用这些或任何其他 AI 工具,请务必通读我的小警告,以了解一些要记住的注意事项。否则,让我们开始吧!

Phind

Phind Ai开发人员搜索引擎主页

从我们的列表中开始的是Phind,这是一个承诺成为搜索引擎的工具,但为开发人员量身定制。虽然像ChatGPT这样更通用的工具几乎可以解决任何问题,但Phind是专门为开发人员量身定制的。

有趣的是,“搜索引擎”的这个位置意味着Phind的回应通常由两部分组成:

  • 对您的特定问题进行非常详细和有见地的回答
  • 通过搜索检索到的相关链接

通常,您会在询问 AI 问题和浏览搜索结果之间来回切换,以拨入您想要的内容。

使用AI解决编程问题的一件更烦人的事情是,当AI模型不太确定答案时,它可能会开始虚张声势。因此,它可能会给你看似合理的答案,但根本不起作用。

这是令人沮丧的,因为你可以在应该工作的事情上投入大量时间,只是在一段时间后发现人工智能基本上已经把你引入歧途。对于您的生产力来说,可能没有什么比追逐那些一开始就行不通的东西更糟糕的了。

让我们以Phind为例,询问它如何使用Rust连接到Windows上的蓝牙低功耗(BLE)设备。这是一个有趣的问题,因为, 虽然蓝牙无处不在, 找到有关如何搜索和连接到BLE设备的示例非常困难.

在 Phind 中使用“在 Windows in Rust 中查找并连接到 BLE 设备”作为输入会导致以下结果:

Phind 输入要求在 Rust 中的 Windows 上查找并连接到 ble 设备,左侧是代码示例,右侧是搜索结果

在左侧,我们得到一个使用该包的Codeium示例,这是用于此包的正确包。btleplug

在右侧,我们还获得了搜索结果,因此我们可以快速跳转到板条箱的货物页面。这意味着我们可以在有关如何使用Codeium的示例和文档本身之间快速跳转。btleplug

相比之下,向ChatGPT询问相同的问题告诉我们使用比Windows更旧且不支持Windows的crate。所以Phind在这种情况下肯定产生了更好的结果。rumblebtleplug

截至 2023 年 <> 月,Phind 是免费的,没有订阅选项,这是一个很好的奖励。

总之,以下是Phind的与众不同之处:

  • 非常适合编码问题
  • 搜索结果显示在生成的答案旁边 — 很好的附加上下文
  • 似乎给出了比 ChatGPT 更好的编码答案
  • 自由

bloop.ai

在不同的时候,我有理由将各种 GitHub 存储库克隆到我的计算机上。通常,我这样做是为了尝试修复某个错误或了解给定的存储库如何解决某个问题。

每当我这样做时,总会在开始时有一个时期,我必须了解存储库的结构以及在哪里可以找到我正在寻找的代码。这种“入职”可能需要几分钟到几小时的时间。

bloop.ai 希望加快这一进程。您可以克隆整个 GitHub 项目,然后询问有关存储库 bloop.ai 问题。在这种情况下,我克隆了存储库,并询问了BLE扫描如何适用于Windows设备:btleplug

Bloop AI 工具回答开发人员关于 Btleplug 存储库的问题

这实际上是一个相当困难的问题。有问题的库支持四个不同的平台,因此 bloop.ai 必须找到特定于Windows的代码。

此外,由于代码是在接口后面抽象的——为了规范化 API 表面,无论你在哪个平台上——bloop.ai 还必须找到实际的平台实现。btleplug

bloop.ai 对个人也是免费的。要使用它,您必须:

  • 下载应用程序
  • 安装它
  • 登记
  • 将其与您的 GitHub 帐户连接

完成此操作后,您可以根据自己的喜好克隆和检查存储库。

bloop.ai 真正帮助提高生产力的另一种方式是在开发人员离开组织的背景下。

我继承了代码库,这些代码库是其他开发人员专业知识的产物,要理解应用程序如何组合在一起并不容易。能够将存储库加载到 AI 辅助工具中,然后用问题敲打它肯定会消除大量的试验和错误。

最后,桌面应用程序看起来很棒。高度的抛光使该应用程序使用起来很愉快。

以下是使 bloop.ai 对开发人员而言出色的原因的摘要:

  • 了解现有代码库,而不会浪费几天时间
  • 内联聊天使您可以轻松地在您需要的地方获得答案
  • 该应用程序非常漂亮

Codeium

您可能听说过其他AI辅助编程工具,例如GitHub Copilot。Codeium 的工作方式与此非常相似,在您编写代码时在代码库中提供上下文建议。这令人印象深刻。

例如,如果你在 Rust 中编写一个函数,比如 ,Codeium 插件会建议一个函数来做到这一点:calculate_fibonacci_sequence()

Codeium 插件建议开发人员编写代码时的功能

在上面的例子中,我只是写了函数名,Codium 提出了一个可以满足这个需求的函数。虽然 ChatGPT 甚至 Phind 可能需要几分钟来建议答案,但 Codeium 只花了几秒钟就推出了一个可以在大部分时间工作的功能。

Codeium 的建议并不总是完美的,但它通常比自己从头开始编写整个函数更快。

这对您的生产力非常有用,因为您不必搜索如何实现给定的功能。有时,只需为您的函数指定您希望它执行的操作的名称就足以让 Codeium 填写其余部分。

Codeium真正闪耀的地方在于编辑器支持。虽然 VS Code 是当今许多 Rust 开发人员的事实标准,但我很高兴地发现 CLion 和许多其他 JetBrains IDE 的原生支持。支持的编辑器列表令人印象深刻 - 看看它:

Codeium 支持的 IDE 列表,带有 IDE 名称和图标

除此之外,Codeium 团队还传达了一条非常引人注目的信息,即为什么 Codeium for Individual(个人版)现在和将来都是免费的,这个工具似乎是这个领域的一个很棒的产品。

总之,Codeium提供:

  • 实时、近乎即时的代码建议
  • 极其广泛的 IDE 支持

ColPat (Color Palette & Design Tool)

你可以制作世界上最好的应用程序,但如果它看起来很痛苦,或者它甚至只是丑陋,人们将很难参与其中。寻找看起来不错的互补色和主题有时需要训练有素的眼睛——或者大量的试验和错误。

幸运的是,ColPat 提供了一种为您的网站或应用程序创建主题和颜色的简单方法:

科尔帕特设计工具主页

只有两个ColPat的工具——来自图像的色板和来自颜色的调色板——专门标识为使用人工智能来准备结果。否则,似乎这一切都发生在本地;通过浏览源存储库,尚不清楚AI实际上如何参与生成调色板,或者是否参与生成。

但是,ColPat 仍然是一个很棒的工具,它绝对可以帮助您为您的网站或应用程序生成互补的配色方案。

总之,科尔帕特是:

  • 非常适合快速确定应用的精美设计
  • 可能实际上不是人工智能辅助的,但仍然运行良好

RegExGPT

在开发生涯的某个时刻,您需要从更大的文本字符串中过滤文本。造成这种情况的潜在原因有很多——也许您正在尝试将数据从一种类型转换为另一种类型,或者您正在尝试自动化某些内容。

在你职业生涯的早期,你可能会满足于拆分一些字符串和处理字符数。但最终,您可能会最终使用正则表达式。

正则表达式在软件开发中无处不在,因为它们非常强大。但是,它们并不容易阅读。

例如,谷歌提供了一些例子,展示了一些实现特定目的的正则表达式,但它们并不是你所说的很容易解释的。在像StackOverflow这样的网站上也有复杂的帖子,他们发现语法非常神秘。

例如,此正则表达式获取以 、 和 结尾的匹配电子邮件地址:yahoohotmailgmail

(\W|^)[\w.\-]{0,25}@(yahoo|hotmail|gmail)\.com(\W|$)

还有其他网站,如正则表达式 101,可以让您提供一些输入,然后使用您的正则表达式,直到它完成您想要它做的事情。

传统上,这种方法 - 提供输入,然后尝试制作查询,直到你得到你想要的东西 - 是你实现其中许多目标的方式。当然,这是在访问了大约每个关于ColPat如何工作的StackOverflow问题之后。这可能是一个耗时的过程。

幸运的是,我们可以通过使用 RegExGPT 快进很多这个过程。无需猜测ColPat,您可以简单地提供字符串以及您希望从中获得的值。

对于更复杂的查询,您还可以提供自然语言提示 - 例如,“我想要逗号分隔数组中的第三个值” - RegExGPT将泵出一个RegEx,该RegEx完全可以执行您希望它执行的操作。

例如,冒着召唤 Zalgo 的风险,我可以使用 RegEx 从 HTML 锚点选项卡中读取:href

正则表达式生成器与输入

RegExGPT给出了这个有用的回复:

来自正则表达式的输出,建议使用正则表达式

在Chrome开发人员控制台中旋转时,我们可以看到结果符合预期:

正则表达式由正则表达式生成,在Chrome开发者控制台中具有预期结果

正则表达式从未如此简单!

总之,您可以使用正则表达式GPT来:

  • 让 AI 为您编写神秘的正则表达式
  • 彻底测试生成的表达式!流氓正则表达式查询可能会造成相当大的伤害

AI 开发人员工具的摘要表

那么,当您遇到特定问题时,您应该使用什么工具?

工具

非常适合...

Phind

...查找与编码特别相关的问题的答案,以比 ChatGPT 更详细的形式

bloop.ai

。了解以前从未见过的代码库的工作原理 ,以便您可以快速开始使用 它

Codeium

。获得上下文建议并自动完成,编码种类繁多,可以达到 OLS

ColPat

。为您的应用程序快速生成调色板(即使它在技术上不是 AI 驱动的)

正则表达式

...为您选择的语言生成正则表达式查询

小告诫

有了所有的人工智能辅助工具,尝试解决开发问题突然变得容易多了。但是很多这些技术都是基于 GPT-3.5 或 GPT4 的。这些语言模型是一个巨大的飞跃,对广泛的应用程序很有帮助。

但是,截至目前,有时向AI模型提出问题可能会导致AI模型不知道。当这种情况发生时,模型不会告诉你它不知道,而是经常试图虚张声势地通过答案。这些在技术上被称为幻觉。

这可能有两个问题。对于初学者来说,你可能会得到错误的信息,听起来合理,但完全错误。

随后,因为它听起来很有道理,你可能会花相当多的时间试图让人工智能解决方案工作,然后才意识到它永远不会奏效。这是浪费时间,不利于您的生产力,这就是我们首先在这里的全部意义。

如果你的 AI 解决方案不适合你,不要害怕快速失败并尝试其他提示。

其次,考虑一下当你问工作场所的某个人如何解决某个问题时会发生什么。如果这个“解决方案”引入了一个更大的问题,你就有人回去问代码出了什么问题。对于基于 GPT 的解决方案,情况并非如此。

例如,假设您使用 GPT 辅助语言模型生成了正则表达式查询。如果该正则表达式在小型测试中为您工作一次,但在生产中对更大的数据集失败,那完全取决于您。

没有高级开发人员会接受,“但是AI建议了特定的正则表达式查询!”作为中断之类的借口。当然,为人工智能编写的代码可能引入的问题部署补丁也会损害您的工作效率。

底线是这样的:人工智能绝对可以在各种情况下帮助你,并提供令人难以置信的帮助。但只有您作为开发人员才能认可给定的解决方案。

无论您是在编写代码还是 AI 在帮助您编写代码,质量始终很重要。使用单元测试和自动化测试来证明您的代码工作现在比以往任何时候都更加重要。

结论

现在是成为开发人员的好时机,人工智能为开发人员多年来面临的许多问题提供了解决方案。无论您是在编写新代码,尝试理解现有的代码库,还是只是想要一个新的调色板,都可以使用一种工具。

明智地使用这些工具将相当于节省许多时间,毫无疑问,我们将继续看到这个空间的戏剧性发展。如果您找到了另一个对您有所帮助的 AI 驱动的工具,请务必在评论中告诉我们!

在几分钟内设置LogRocket的现代错误跟踪:

  1. 访问 https://logrocket.com/signup/ 以获取应用 ID
  2. 通过 npm 或脚本标签安装 LogRocket。 必须调用客户端,而不是服务器端LogRocket.init()

npm:

$ npm i --save logrocket

// Code:

import LogRocket from 'logrocket';
LogRocket.init('app/id');

script tag

Add to your HTML:

<script src="https://cdn.lr-ingest.com/LogRocket.min.js"></script>
<script>window.LogRocket && window.LogRocket.init('app/id');</script>

  1. (可选)安装插件以与您的堆栈进行更深入的集成:
  • 冗余中间件
  • NgRx 中间件
  • Vuex 插件

由3D建模学习工作室 整理翻译,转载请注明出处!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/110340.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【内推码:NTAMW6c】 MAXIEYE智驾科技2024校招启动啦

MAXIEYE智驾科技2024校招启动啦【内推码&#xff1a;NTAMW6c】 【招聘岗位超多&#xff01;&#xff01;公司食堂好吃&#xff01;&#xff01;】 算法类&#xff1a;感知算法工程师、SLAM算法工程师、规划控制算法工程师、目标及控制算法工程师、后处理算法工程师 软件类&a…

SpringCloud入门——微服务调用的方式 RestTemplate的使用 使用nacos的服务名初步(Ribbon负载均衡)

目录 引出微服务之间的调用几种调用方法spring提供的组件 RestTemplate的使用导入依赖生产者模块单个配置的情况多个配置的情况没加.yaml的报错【报错】两个同名配置【细节】 完整代码config配置主启动类controller层 消费者模块进行配置restTemplate配置类controller层 使用na…

13.redis集群、主从复制、哨兵

1.redis主从复制 主从复制是指将一台redis服务器&#xff08;主节点-master&#xff09;的数据复制到其他的redis服务器&#xff08;从节点-slave&#xff09;&#xff0c;默认每台redis服务器都是主节点&#xff0c;每个主节点可以有多个或没有从节点&#xff0c;但一个从节点…

Flink Kubernates Native - 入门

创建 namespace [rootCentOSA flink-1.17.1]# kubectl create ns flink-native [rootCentOSA flink-1.17.1]# kubectl config set-context --current --namespaceflink-native命令空间添加资源限制 [rootCentOSA flink-1.17.1]# vim namespace-ResourceQuota.yamlapiVersion:…

Maven报错 [ERROR] Malformed \uxxxx encoding.

IDEA刷新项目&#xff0c;报错[ERROR] Malformed \uxxxx encoding. 现象 1.控制台报错 [ERROR] Malformed \uxxxx encoding.2.项目代码大部分爆红 3.Pom文件不爆红 4.IDEA未能构建Dependencies 尝试清除IDEA缓存无效&#xff0c;重新克隆项目无效&#xff0c;更换低版本mav…

精进面试技巧:如何在程序员面试中脱颖而出

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

DPI 设置和获取

DPI设置与获取之前请保证程序已经打开DPI感知或者在清单文件嵌入DPI感知&#xff0c;否则API可能获取的值不准确 方法一:GetScaleFactorForMonitor 通过枚举显示器获取不同设备的DPI&#xff0c;获取的是实际DPI static BOOL CALLBACK MonitorEnumProc(HMONITOR hMonitor,HDC…

服务器数据恢复-ESXi虚拟化误删除的数据恢复案例

服务器数据恢复环境&#xff1a; 一台服务器安装的ESXi虚拟化系统&#xff0c;该虚拟化系统连接了多个LUN&#xff0c;其中一个LUN上运行了数台虚拟机&#xff0c;虚拟机安装Windows Server操作系统。 服务器故障&分析&#xff1a; 管理员因误操作删除了一台虚拟机&#x…

报错处理:Permission denied错误

报错处理 Permission denied错误 报错环境 在Linux上运行任何需要访问系统资源、文件或目录的命令时均有可能出现。 排错思路 该错误表示当前用户没有足够的权限执行指定的操作。排查时可以先查看具体的报错信息&#xff0c;例如文件或目录的路径以及相应的权限设置&#xff0c…

字符设备驱动(内核态用户态内存交互)

前言 内核驱动&#xff1a;运行在内核态的动态模块&#xff0c;遵循内核模块框架接口&#xff0c;更倾向于插件。 应用程序&#xff1a;运行在用户态的进程。 应用程序与内核驱动交互通过既定接口&#xff0c;内核态和用户态访问依然遵循内核既定接口。 环境搭建 系统&#…

HHDESK一键改密功能

HHDESK新增实用功能——使用SSH连接&#xff0c;对服务器/端口进行密码修改。 1 测试 首页点击资源管理——客户端&#xff0c;选择需要修改的连接&#xff1b; 可以先对服务器及端口进行测试&#xff0c;看是否畅通&#xff1b; 右键——测试——ping&#xff1b; 以及右…

【Python数据分析】Matplotlib小技巧!

1. 添加标题-title matplotlib.pyplot 对象中有个 title() 可以设置表格的标题。 **import** numpy **as** np **import** matplotlib.pyplot **as** plt \# 显示中文 plt.rcParams\[font.sans-serif\] \[uSimHei\] plt.rcParams\[axes.unicode\_minus\] **False** …

Spark整合hive的时候出错

Spark整合hive的时候 连接Hdfs不从我hive所在的机器上找&#xff0c;而是去连接我的集群里的另外两台机器 但是我的集群没有开 所以下面就一直在retry 猜测&#xff1a; 出现这个错误的原因可能与core-site.xml和hdfs-site.xml有关&#xff0c;因为这里面配置了集群的nameno…

三---开关稳压器

通过控制系统反馈&#xff0c;当电压上升时通过反馈降低&#xff0c;当电压下降时通过反馈升高&#xff1b;形成一个控制环路&#xff1b;控制电路&#xff1a;PWM&#xff08;脉宽调制&#xff09;&#xff0c;PFM&#xff08;频率控制方式&#xff09;&#xff0c;移相控制方…

Java并发编程第6讲——线程池(万字详解)

Java中的线程池是运用场景最多的并发框架&#xff0c;几乎所有需要异步或并发执行任务的程序都可以使用线程池&#xff0c;本篇文章就详细介绍一下。 一、什么是线程池 定义&#xff1a;线程池是一种用于管理和重用线程的技术&#xff08;池化技术&#xff09;&#xff0c;它主…

AcWing 898. 数字三角形 (每日一题)

大家好 我是寸铁 希望这篇题解对你有用&#xff0c;麻烦动动手指点个赞或关注&#xff0c;感谢您的关注 注意 像数组下标出现i-1的&#xff0c;在循环的时候从i1开始。 关于0x3f3f3f3f和Integer.MAX_VALUE 0x3f3f3f3f:1061109567 Integer.MAX_VALUE:2147483647 在选用Integ…

【缓存设计】记一种不错的缓存设计思路

文章目录 前言场景设计思路小结 前言 之前与同事讨论接口性能问题时听他介绍了一种缓存设计思路&#xff0c;觉得不错&#xff0c;做个记录供以后参考。 场景 假设有个以下格式的接口&#xff1a; GET /api?keys{key1,key2,key3,...}&types{1,2,3,...}其中 keys 是业务…

C语言“牵手”天猫商品详情数据方法,天猫商品详情API接口申请指南

天猫商城平台是阿里巴巴集团旗下的一个综合性购物网站。 天猫商城的前身是淘宝商城&#xff0c;于2012年1月11日上午更名。天猫是一个整合数千家品牌商、生产商&#xff0c;为商家和消费者之间提供一站式解决方案的B2C&#xff08;Business-to-Consumer&#xff0c;商业零售&a…

【业务功能篇78】微服务-前端后端校验- 统一异常处理-JSR-303-validation注解

5. 前端校验 我们在前端提交的表单数据&#xff0c;我们也是需要对提交的数据做相关的校验的 Form 组件提供了表单验证的功能&#xff0c;只需要通过 rules 属性传入约定的验证规则&#xff0c;并将 Form-Item 的 prop 属性设置为需校验的字段名即可 校验的页面效果 前端数据…

超越界限:大模型应用领域扩展,探索文本分类、文本匹配、信息抽取和性格测试等多领域应用

超越界限&#xff1a;大模型应用领域扩展&#xff0c;探索文本分类、文本匹配、信息抽取和性格测试等多领域应用 随着 ChatGPT 和 GPT-4 等强大生成模型出现&#xff0c;自然语言处理任务方式正在逐步发生改变。鉴于大模型强大的任务处理能力&#xff0c;未来我们或将不再为每…