逃离教程地狱

2025-06-04

逃离教程地狱

我如何逃离教程地狱

初学编程时,你会在学习过程中遇到一个被称为“教程地狱”的地方。你可能直到走出去才意识到自己身处其中。

什么是教程地狱?

教程地狱指的是新手开发者在学习过程中遇到的一段时期,你只能观看教程,跟着教程走,然后照着老师的操作照做,而且效果还不错。太好了,现在我想自己尝试一下类似的方法,于是我新建了一个项目npm create-react-app awesome-app,尝试像教程里那样拉取 API,结果就是不行。

原因在于,讲师提前规划了课程,进行了测试,知道要使用哪些库,需要开发哪些函数,需要使用哪些抽象,并且在重新构建和录制之前进行了测试。关键在于,讲师第一次就讲解了你现在遇到的调试和故障排除部分,并且解决了问题,但他们只展示了可以运行的版本。

这类似于在美国参加驾驶考试,你至少曾经驾驶过汽车并且知道如何操作,然后才需要在别人的监督下进行驾驶,由别人判断你的表现是否足够好,是否有资格成为有驾照的公民。

逃脱

要逃离教程地狱,首先必须意识到他们似乎陷入了循环。
If (editedTutotialCode !== success) return “watch another tutorial”
为了成功逃脱,你必须意识到一件事,你必须意识到你不知道什么。你观看了教程并且它有效,但如果你深入思考,你会发现你不知道正在使用的库或不熟悉所使用的特定函数或钩子。例如,如果你按照关于从 API 获取数据的教程操作,并且该教程使用了一个名为 Axios 的新库,而这是你第一次使用它。然后你离开本教程并尝试使用 Axios 从另一个 API 获取数据,但你没有得到预期的结果。问题出在你对库或正在使用的 API 的了解上,你必须接受你不知道如何使用这个库的事实。

解决方案

务必理解阅读文档的重要性。花点时间再读一遍。你遇到的问题并非个例,几乎每个开发者在早期开发生涯的某个阶段都会遇到这个问题。你遇到的问题仅仅是在尝试使用语言、库或功能之前不理解它。你必须花时间去理解一段代码的工作原理,然后才能尝试将其用于你自己的产品。同样的道理,如果你从 StackOverflow 复制了代码,并且它确实有效,但如果你不理解它的作用或工作原理,又何必把它用到生产环境中呢?

在上面关于 Axios 的例子中,假设你以前从未使用过这个库。你有两个选择:观看另一个教程,其中讲师使用 Axios 从其他 API 获取数据;或者阅读库文档。如果你阅读了库文档,你的成功几率会成倍增加,因为你现在正在学习如何正确使用这个库,并且可以将这些知识运用到任何需要从 API 中提取信息的项目中。

举个个人经历的例子。我在一个教程里看过 React Hooks 之后,试图理解它。我尝试运用从 useEffect() hook 教程里学到的知识。但我遇到的问题是,它无法按照我想要的方式运行,或者说,虽然它能够运行。我怀疑自己一定是理解错了,于是又看了更多 useEffect hooks 的教程,但仍然无法在我的应用程序中使用它。我反复尝试了几次,但仍然在尝试将教程里学到的知识应用到我自己的应用程序中时遇到问题。

什么有效?

我访问了https://react.org/learn,阅读了他们关于 Hook 和 useEffect Hook 的文档,然后开始理解如何正确使用这个 Hook。useEffect Hook 有三种不同的用法,它们对代码的影响有很大差异。现在我可以自信地在任何项目中高效地使用 useEffect() Hook 了。这对我来说是一个成长的时刻,我学会了阅读文档,不再看教程,也摆脱了教程的困境。

You can have all the tools in your garage for building a house but that doesn’t mean you know how to build a house -Chris Benjamin

也就是说,任何人都可以拥有工具,但这并不意味着你拥有知识。花时间学习,提升你的技能,未来的你会感谢你!

教程会让你初步了解情况,但如果你想学会游泳,你就必须勇敢尝试并创造一些东西。

外卖

  • 不要只是观看教程,跟着教程做,而不去尝试创造一些东西
  • 开始阅读官方文档
  • 开始理解它为什么起作用以及它如何起作用
  • 知道如何使用工具箱中的工具

我在 @buymeacoffee。如果你喜欢我的作品,可以给我买个玉米卷饼,分享你的想法🎉🌮
给我买杯咖啡

文章来源:https://dev.to/chrisbenjamin/escaping-tutorial-hell-ncd
PREV
Milvus 冒险
NEXT
我创建了一个在线代码编辑器