如果我必须从零开始,要如何利用ChatGPT学习编程呢?

Photo by Arnold Francisca on Unsplash

编程自我生活中的一部分,从10岁开始就接触编程。从在互联网简单的时代修改HTML和CSS来完善我的Friendster个人资料,到为了刺激而探索SQL注入,为了娱乐而建造三条腿的机器人,最近又开始深入Python编程,我的编程之旅多样而有趣!

这是我从各种编程方法中学到的。

我学习编程的方式总是相似的;正如人们所说,大部分时间都是复制粘贴。😅

谈到在编码世界中构建某物时,以下是我的方法的详细步骤:

  1. 选择合适的框架或库
  2. 从过去的项目中学习
  3. 将其分解为步骤,将您的项目拆解成可行动的项目步骤,使开发过程更加轻松。
  4. 对于每个步骤,可以咨询Google/Bing/DuckDuckGo/任何您喜欢的搜索引擎,以获取见解、指导和潜在解决方案。
  5. 开始编码 试着按照每个步骤有系统地实施。

然而,即使是最仔细思考过的代码也可能遇到错误。下面是我的故障排除策略:

1. 查看框架文档:务必阅读文档!

2. 谷歌和堆栈溢出搜索:在谷歌和堆栈溢出上搜索。示例关键词可以是:

网站:stackoverflow.com [编程语言] [库] 错误[错误信息]

网站:stackoverflow.com Python 错误 ImportError: 找不到 pandas 模块

- Stack Overflow解决方案:如果问题已经在Stack Overflow上存在,我会寻找得到最多赞的评论和解决方案,通常能找到快速且可靠的答案。 - 相信我的直觉:当Stack Overflow没有答案时,我相信自己的直觉,在Google上搜索可信赖的来源;包括GeeksForGeeks、Kaggle、W3School和Towards Data Science等,特别是与数据科学有关的内容 ;)

3. 复制粘贴代码解决方案

4. 验证和测试:最后一步是彻底检查修改的代码并进行测试,以确保其按预期运行。

并且,哇,你刚刚解决了这个错误!

Photo by Stephen Hocking on Unsplash

这不是美吗?

但是实际上,我们还在这样做吗?!

最近,我注意到新编码者在编码方面的处理方式发生了变化。我已经教授编码大约三年了,在编码训练营中进行跳跃式教学,并在大学和企业培训中作客座讲座。编码者学习编码的方式有所改变。

通常我告诉新手坚持使用传统的浏览和谷歌搜索解决问题的方式,但是最终人们还是会用ChatGPT。他们的借口是

拥有ChatGPT(用于编程)就像拥有一个额外的学习伙伴 - 这个伙伴会像一个普通人一样与您聊天。

这非常有用,尤其是当你仍在努力理解搜索结果和文档中的事物时,它可以培养所谓的程序员直觉。

现在,别误会我,我非常支持基础知识。浏览、阅读文档,并向社区提问,这些都是我认为非常实用的方法。但完全依赖ChatGPT可能有点过头了。当然,它可以迅速为你总结答案,但传统方法可以让你自由选择、尝试一些其他方法,在编程世界中这相当重要。

但是,我必须要给予应有的认可——ChatGPT在提供答案方面非常迅速,尤其是当你仍在尝试从搜索结果和文档中区分出对与错的时候。

现在,让我们想象一个现实生活场景,ChatGPT可以像你的编码伙伴一样帮助你进行调试。

场景:调试一个Python脚本

想象一下,您正在为一个项目编写Python脚本,并遇到一个您无法解决的意外错误。

浏览方式:

  1. 查看文档:

开始时,请查阅Python文档,查找导致错误的模块或函数。

例如:访问https://scikit-learn.org/stable/modules/ 获取Scikit Learn文档。

2. 在Google和Stack Overflow上进行搜索。

如果文档没有提供解决方案,你可以转向谷歌和Stack Overflow。浏览各种论坛帖子和讨论,找到类似的问题及其解决方法。

StackOverflow Thread

3. 相信自己的直觉:

如果问题是独一无二的或者没有充分记录,那就相信你的直觉吧!你可以搜索过去认为可靠的谷歌上的文章和资源,并尝试将类似的解决方案改编成适用于你的问题。

Google Search Result

新的方法与ChatGPT:

  1. 与ChatGPT进行对话

而不仅仅是浏览文档和论坛,您可以与ChatGPT进行对话交流。提供错误的简洁描述并提出问题。例如,

“在我的[编程语言]脚本中遇到了一个问题,[描述错误]。您能帮我理解可能导致这个问题的原因,并提供一个可能的解决方案吗?”

Engage ChatGPT in Conversations

2. 使用ChatGPT澄清概念:

如果错误与你难以掌握的概念有关,你可以请求ChatGPT解释该概念。例如,

保留HTML结构,将以下英文文本翻译为简体中文: “请解释在[编程语言]中[具体概念]的工作原理?我认为它可能与我遇到的错误有关。错误信息如下:[错误信息]”

Clarify Concepts with ChatGPT

3. 寻求故障排除建议。

您可以向ChatGPT寻求有关排除Python脚本问题的常见建议。例如,您可以问如何解决语法错误、逻辑错误或导入错误等常见问题。 ChatGPT可以提供您可能遇到的一些常见错误类型的解决方法以及编码最佳实践。还可以提供一些调试工具和技巧,帮助您快速定位和解决问题。不过,请注意ChatGPT只能提供一般性的建议,对于特定的问题和代码,您可能需要更深入的研究和理解来解决。

“如何处理[问题]的常见策略有哪些?对于工具或技术还有什么推荐?”

Using ChatGPT as coding buddy

潜在优势:

  • 个性化指导: ChatGPT可以根据您提供的错误具体细节和您对问题的理解,提供个性化指导。
  • 概念澄清:您可以直接利用ChatGPT的LLM功能,寻求有关概念的解释和澄清。
  • 高效的故障排除:ChatGPT 可能提供简洁而相关的故障排除技巧,从而潜在地简化调试过程。

可能的限制:

  • 缺乏实时互动:尽管ChatGPT提供了有价值的见解,但它缺乏论坛或讨论串所能提供的实时互动和动态来回交流。
  • 依赖过去的知识:ChatGPT的回应质量取决于它所接受训练的信息,它可能不了解最新的更新或您项目的具体细节。

这个场景展示了ChatGPT在你的编码工具包中如何成为一个有价值的工具,特别是用于获取个性化的指导和澄清概念。请记住,在使用ChatGPT的帮助时要与浏览方法和询问社区相结合,同时要考虑它的优点和局限性。

怎么办:

  • 充分利用定制化学习资源:充分利用ChatGPT针对学习材料的推荐。
  • 合作解决问题: 将ChatGPT用作合作伙伴,就像与朋友一起编码一样。
  • 对于一个程序员,我会推荐以下几点:

如果你真的想利用自动完成模型,而不仅仅使用ChatGPT,尝试在VScode上使用用于自动代码补全任务的扩展,如VScode上的GPT4扩展、GitHub Copilot或Google Colab中的自动完成AI工具。

Auto code-completion on Google Colab

不可做的事情:

  • 过度依赖ChatGPT:避免仅仅依赖ChatGPT,并确保采取平衡的方法培养独立解决问题的能力。
  • 忽视与编码社区的实时互动:尽管ChatGPT提供了宝贵的见解,但不要忽视来自编码社区的实时互动和反馈所带来的好处。这也有助于在社区建立声誉。
  • 忽略实际编码实践:在保持ChatGPT指导的基础上,通过动手编码实践来强化理论知识与实际应用的结合。

随着我回顾我的编码之旅,宝贵的教训是,没有适合所有人的学习方法。重要的是要拥抱多样化的学习方式,将传统的浏览和社区互动等传统实践与ChatGPT和自动代码补全工具等创新能力相结合。在评论中告诉我你如何利用ChatGPT来帮助你编码吧!愿你编码愉快!

让我们连接

  • 🌐 关注我的领英主页
  • 📬 订阅我的Medium新闻通讯,您将在电子邮件中收到更新!
  • 🚀 如果您发现这篇文章有用,请鼓掌、划线并发表评论。

2024-01-01 04:12:22 AI中文站翻译自原文