雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

这个应用程序将利用人工智能的力量回答您的编码问题

2024-06-23 40

使用 Phind 快速解决棘手的编程问题。

要点

  • Phind 是一款面向开发人员的人工智能编码助手,可以及时为编码问题提供可靠的答案。
  • Phind 能够理解上下文、模糊的措辞,甚至拼写错误,这使其成为初学者和经验丰富的程序员的宝贵工具。
  • 凭借准确的响应、有用的信息和结构化代码示例,Phind 被证明是任何程序员工具箱中值得添加的内容。

对于程序员来说,没有什么比好的工具集更重要的了:编辑器、构建套件和版本控制对于我们的技术至关重要。像 Phind 这样的编码助手可能是您最新的有价值的补充。

什么是Phind?

将 Phind 视为 Stack Overflow 的人工智能驱动替代方案。 Phind 不是一个小型的专家小组,也不是一大群热情的志愿者,而是利用人工智能的力量。

Phind 是一个根据开发人员的需求进行调整的搜索引擎。与其他人工智能聊天应用程序一样,它对高级套餐收费,但您可以无需付费即可使用其基本功能。这个默认的免费计划使用名为 Phind-34B 的模型,该模型给出了有希望的结果。

你如何使用它?

转到 Phind 网络应用程序,您将看到一个极简的搜索引擎界面,让人想起 Google 的主页。输入与编码相关的查询,按 Enter,然后对结果感到惊讶:

您可以提出后续问题,Phind 将根据上下文回答。即使你的措辞非常含糊,Phind 也会理解你的意思。例如,我问了一个任何编程新手都可能想知道的问题:

a=a*2 有什么作用

Phind 给了我一个有用的答案:

我接着问:

有没有更短的路

响应清楚地表明 Phind 如何准确理解我的意思:

您根本不必担心如何完美地格式化您的问题。删除标点符号、忽略大小写、拼写错误的单词; Phind 不关心这些约定!

Phind 的答案有多好?

一切都很好,但是 Phind 的实际表现如何呢?我通过一系列挑战对其进行了测试,看看它是否可以合理地充当有用的编码助手。

一个非常基本的编码问题

作为基线,我想看看 Phind 是否可以回答一个关于语言语法的非常简单的问题。这是程序员在使用不熟悉的语言或试图找出更晦涩的功能时可能会问的问题。

我问菲德:

代码是什么意思

javascript ??=

我故意选择不包含“操作员”一词,以使任务更具挑战性,并反映现实世界的场景。果然,Phind 在短短几秒钟内就回答了这个问题:

响应内容包括:

  • 语法的解释。
  • 使用示例。
  • 等效的长格式代码示例。

这些都是正确的信息,有学习或者参考的价值。请注意,代码示例链接到免费代码编辑器 Replit。点击链接,您可以运行代码示例以查看其实际效果。

更深入的代码示例

我想看看 Phind 是否可以提供更有分量的代码示例。我问:

我如何编写链接列表请给我代码

链表是每个程序员都应该知道的经典数据结构。像 Phind 这样的工具当然应该理解并能够回答问题。

幸运的是,结果还不错:

这只是完整代码示例的一小部分摘录。 Phind 总共给了我 60 行带注释的、结构良好的 C 代码。我没有专门要求 C 语言的代码,但该语言是合理的默认值,因为许多其他语言已经在其标准库中包含了链表结构。

代码已编译(没有错误或警告)并按预期运行。

一个固执己见的问题

接下来,我想看看 Phind 在基础计算机科学考试中表现如何。这需要一个更具理论性的主题,远离代码并转向观点。 Phind 对此没有异议。我问:

迭代和递归哪个更好

作为一个主观问题,这可能有点不公平。递归是一个具有挑战性的概念,您可以使用它来产生巨大的效果,但这两种方法都不是永远更好。 Phind 小心翼翼地避免公开表示绝对支持这两种方法:

这个答案是平衡的,对每种方法都有明确的支持和反对论据。再一次,对于研究特定问题,Phind 看起来是一个不错的选择。

修复错误

修复损坏的代码是一项棘手的任务,不仅涉及解决方案,还涉及初步诊断。

下面的代码有什么问题

function factorial(n) {
	if (n = 0 || n == 1) return 1;
	return n * factorial(n - 1);
}

当然,这个 bug 是我为了测试 Phind 而故意引入的。但这是一个常见的错误,由打字错误引起,任何程序员都可能犯,无论经验如何。

Phind 在确定错误原因并提出解决方案方面做得非常出色:

Phind 到底有多有用?

我不是人工智能的忠实粉丝,所以我谨慎使用这个工具。我仍然认为,作为一名程序员,您应该小心并花时间自己理解这些响应。

Phind 并不完美。作为对我的第一个编码问题的回答,它表明“a=a*2”是“a=a * 2 的简写”,这并不是真的,除非您将删除空格算作简写!

然而,Phind 总体上给我留下了深刻的印象。免费套餐不仅速度相当快,而且似乎也能很好地处理各种问题。 Phind 的回答大多准确,并且通常包含有用的信息,可以帮助程序员解决问题。

作为 Google、Stack Overflow 或 Reddit 的替代方案,Phind 似乎能够在更短的时间内、更少的精力回答我的大部分问题。我肯定会将它添加到我的工具包中,以使未来的编程不再那么痛苦。


更新于:2个月前
赞一波!2

文章评论

全部评论