我正在使用 ChatGPT 来帮助我更快地修复代码,但代价是什么?

2023-04-25 0 456

我正在使用 ChatGPT 来帮助我更快地修复代码,但代价是什么?

本周早些时候,我向您展示了 ChatGPT 如何创建一个完整的 WordPress 插件来满足特定的(如果有些基本的)功能规范。 现在,我将继续对 ChatGPT 进行测试,以了解它是否可以成为一个有用的工具——在这种情况下,可以帮助我获得一些技术指导。

另外:我让 ChatGPT 写了一个 WordPress 插件。 它在不到 5 分钟内完成

正如我在之前对 ChatGPT 的探索中所做的那样,我的写作是纯文本或粗体文本,而 AI 的响应是斜体。 首先,我将向您展示问题和答案,然后我将讨论其中的含义。

了解编程语言的变化
我的托管服务提供商正在将其所有网站从非常过时的 PHP 7.4 迁移到 PHP 8。PHP 是一种网络编程语言,WordPress 和许多其他网络管理工具都依赖它。 我有几个不兼容 PHP 8 的插件,我想确定我必须找到并修复它们代码的哪些方面。

另外:最好的 AI 聊天机器人:ChatGPT 和其他值得尝试的有趣替代方案

通常,我会深入 PHP.net 站点,进行大量的 Google 搜索,并深入了解 StackExchange 中的评论,以找出我需要做的编程工作。 但这是一个有点混乱、耗时的过程。 相反,我问了一个关于 ChatGPT 的详细、直接的问题,并得到了非常有用的回复,包括说明性代码块。

我在使用 PHP 提取函数时遇到问题,在未传递数组时给出致命错误。 在 PHP 7.4 中,我没有收到错误,但我似乎在 PHP 8 中收到了错误。PHP 8 的提取更改了吗?

在 PHP 8 中,extract() 函数的行为已经变得更加严格。 在以前的 PHP 版本中,extract() 函数如果没有传递数组,只会返回 false,但在 PHP 8 中,如果没有传递数组,它将抛出致命错误。 进行此更改是为了提高函数的稳健性,并帮助防止意外输入引起的潜在错误。

事实证明,ChatGPT 的回答非常有帮助,我在几分钟内就修复了这个错误。 能够修复该错误的很大一部分是知道去哪里找。 ChatGPT 阐明了 PHP 版本之间函数的行为如何变化。

因为我试图让整个插件面向未来,所以我要迁移到新版本,所以我也问了这个问题:

从 PHP 7.4 迁移到 PHP 8 时,哪些 PHP 函数可能会中断?

从 PHP 7.4 迁移到 PHP 8 时,有一些函数和特性可能会中断或表现不同。 以下是一些可能会导致问题的最显着的变化:

extract() 函数,如前一个答案中所述,如果未传递数组,现在会抛出致命错误。
each() 函数已在 PHP 8.0 中删除。 您可以改用 foreach 或 array_keys() 和 current() 。
PHP 8.0 中删除了 create_function() 函数。 建议改用匿名函数。
list() 构造与 foreach 一起使用时,现在将键和值作为单独的变量返回,而不是单个数组。
PHP 8.0 中删除了 __autoload() 函数。 您应该改用 spl_autoload_register() 。
$php_errormsg 变量在 PHP 8.0 中被移除。 您应该改用 error_get_last() 函数。
以前 PHP 版本中的一些弃用现在已在 PHP 8.0 中删除。 具体来说,删除了 create_function()、each()、__autoload() 和 $php_errormsg。
这些只是从 PHP 7.4 迁移到 PHP 8 时可能导致问题的几个更改示例。最好在升级之前彻底测试您的代码和应用程序,以确保一切按预期工作。

请注意,ChatGPT 使用了短语“如前一个答案中所述”。 它能够跟踪对话中的答案。 这既“哇”又可怕。

在我修改的代码中,原来的开发人员(早已不在画面中)经常使用 create_function。 我没有意识到它已被弃用。 但是有了上面有用的列表,我只是搜索了代码,找到了需要更新和重写的地方。 然后我继续请求 ChatGPT 向我展示替换该功能的方法。

在 PHP 中使用 create_function 重写代码的好方法是什么? 你能给我一个使用 create_function 的例子,然后给我一个使用当前适当机制的例子吗?

create_function 是 PHP 中已弃用的函数,用于创建匿名函数。 不再建议使用此函数,因为它已在 PHP 8.0 中删除。 相反,可以使用 function 关键字创建匿名函数,也称为闭包。

一般来说,建议使用匿名函数而不是 create_function,因为它们具有更高的性能和更好的可读性。

事实证明,这是一个非常清晰的解释,我能够快速适当地重写代码。 该插件现在可以在我的托管服务提供商的新 PHP 8 环境中正常运行。

MacOS 技术支持
当我在研究关于优化 Mac 存储的危险的文章时,我也有一些问题。 正如我的文章所示,我进去做了一些测试来验证我的一些担忧。 但作为缩小研究范围的快速方法,我向 ChatGPT 询问了这个问题:

如果您使用 MacOS 功能优化 Mac 存储,Time Machine 是否会进行不完整的备份,因为某些文件在本地计算机上仅表示为存根?

macOS 中的“优化 Mac 存储”功能使用 iCloud 将很少使用的文件从 Mac 卸载到云端,同时在本地计算机上保留一个“存根”文件来代表原始文件。 这可以节省 Mac 硬盘上的空间。

当 Time Machine 设置为进行备份时,它将备份所有文件,包括那些已使用“优化 Mac 存储”卸载的文件。 但是,代表卸载文件的存根文件将代替原始文件进行备份。

这意味着如果您要从启用“优化 Mac 存储”时创建的 Time Machine 备份恢复 Mac,则任何卸载的文件都不会包含在恢复中,并且需要再次从 iCloud 下载。

请务必注意,如果您有大量文件被卸载,您的 Time Machine 备份可能会比不使用优化 Mac 存储占用更多空间,因为 Time Machine 将备份存根文件,而存根文件占用的空间更少 空间,但 Time Machine 会将其视为原始文件。

因此,简而言之,如果您使用“优化 Mac 存储”功能,Time Machine 将进行不完整备份,因为它只会备份存根文件,而不是已卸载到云端的原始文件。

这是一个正确的答案。

启示
好吧,这确实节省了时间。 通常,互联网上的编程涉及编码环境和调试环境之间的舞蹈,以及大量增量网络搜索,其中追踪线索并阅读讨论和评论。

不要误会我的意思。 这个过程可以提供很多信息,而且这些评论中隐藏着很多你永远不会从聊天机器人那里得到的民间传说。 但是当你赶时间或在关键的截止日期前,这并不是一种有效的时间利用方式。 问 ChatGPT 的那些编码问题被证明是非常有效的。

另外:ChatGPT 和 Bard:我们是否在所有错误的地方寻找答案?

与任何 AI 一样,您必须意识到 AI 的知识存在差距,并且您很可能会得到完全错误的答案。 但事实证明,将 ChatGPT 用作我工具箱中任何其他工具的直接工具非常有效。

不过,我确实想知道它是从哪里获得信息的。 有没有像我这样的作家写了一篇关于 extract 或 create_function 的信息丰富的文章,其中的文字在没有信用或货币化的情况下被“旋转”成 ChatGPT 的响应? 某人来之不易的知识是否被用作这些答案的未经认可的来源材料?

我确实担心那个。 至少与谷歌作者有机会让搜索引擎将流量发送到文章以换取共享该信息。 但是对于像 ChatGPT 这样的聊天机器人,原始线程就丢失了。 当然,我得到了快速回答的生产力优势。 但是有人失去了对他们工作的归属吗?

另外:如何开始使用 ChatGPT

敬请关注。 生成式人工智能的激增正在掀起波澜。 与我和 ZDNET 一起努力思考这对我们所有人意味着什么。

ChatGPT,当你回答一个问题时,你是在利用别人贡献的知识,还是在剥夺原始人力资源的工作和荣誉?

作为OpenAI创建的AI语言模型,我不发表个人意见和想法。 但是,我可以告诉你,我用来生成回复的信息是基于我接受过训练的数据,其中包含来自互联网的大量文本。 这篇文章是由许多不同的人和来源撰写的,我无法将我提供的信息归功于特定的个人。 我的目标是提供有用且准确的信息,以帮助用户找到他们正在寻找的答案。 重要的是要记住,我的回答是根据我接受训练的数据中的模式生成的,可能并不总是完全准确或最新的。

嗯是的。 那。 “来自互联网的大量文本。” 跟着人们走。 这没东西看。

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

七爪网 行业资讯 我正在使用 ChatGPT 来帮助我更快地修复代码,但代价是什么? https://www.7claw.com/55594.html

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务