如何逃离教程世界

2025-06-07

如何逃离教程世界

你决定学习编程,并打算自学。你整理了一份教程清单,计划开始观看。你对自己的编程之旅充满期待,开始按照清单上的教程学习——一切进展顺利,一切似乎都变得清晰起来。但最终,你不得不重新观看几个视频,因为一些更高级的概念开始浮现。尽管如此,你还是坚持不懈,完成了大部分教程。你认真地完成了这些教程,花了数周甚至数月的时间。完成之后,你对自己的进步感到非常满意,于是萌生了一个项目构想。带着这个想法,你决定尝试自己创造一些东西,结果一切都乱套了。你碰壁了,感到沮丧,开始觉得自己什么都不懂。

听起来很熟悉?我经历过,而且我相信绝大多数自学成才的开发者也经历过。你被困在教程世界,甚至有人称之为“教程地狱”。别担心,当然也不要放弃——你一定能摆脱这个初学者常犯的陷阱。

你好,砖墙,我亲爱的朋友

红砖墙

你首先要认识到,这堵所谓的“砖墙”其实是你最好的朋友。你需要拥抱随之而来的挫败感,以及有时的无助感。最终,这才是真正的学习发生的地方。在实际工作中,你总会遇到这种情况。你需要解决那些你不确定如何解决的问题,而且你还会在截止日期迫在眉睫的情况下完成它们。对于自学的人来说,一旦你意识到这种情况完全正常且在意料之中,你就可以寻找克服它的方法。

我并不是说教程没用,也不是建议你不应该看教程。教程对于学习语法和/或某些技术背后的基本概念很有用。此外,它们还能让你快速了解某项技术的功能以及它如何融入整个前端领域。教程当然提供了一个坚实的平台。但最终,它们不会为你完成工作,你也不可能通过观看教程、被动地跟着写代码,就能神奇地掌握找到工作所需的技能。

为了真正理解某些东西,你需要实际应用你所学到的知识,这样做可以提高你的理解并巩固这些概念。自学的人可能已经意识到了这一点,并且很可能被鼓励在某些教程中构建代码跟随项目。在我看来,这并不总是最好的学习方式——它是一种非常被动的学习体验,而且太容易了。我指导的很多学生经常告诉我,他们观看教程并跟着写代码,但仍然觉得他们并没有真正学到东西。如果你在学习如何编码,但没有不断地撞墙,那么你一定做错了什么。事实上,这个过程很有趣,但也非常具有挑战性,令人沮丧,有时非常乏味。

事实是,陷入“教程世界”或“教程地狱”很可能归结为以下几件事:

  • 你所提出的项目构想对于你目前的技能来说过于雄心勃勃
  • 你试图同时学习太多东西

降低你的期望

如果你刚开始学习一项新技术,比如 React。你可能已经学习了详尽的教程,并且已经准备好并渴望使用它来构建一个项目——你甚至可能想把它添加到你的作品集并向雇主展示。我几乎肯定会避免创建过于复杂的东西。从一个非常非常简单的应用程序开始,然后构建大量这样的应用程序。降低你想要创建的项目的标准,我保证你当时考虑的项目对你来说可能过于复杂。通过这种方法,你可以专注于真正理解你正在编写的代码,而且由于你的项目期望值要低得多,你可以专注于重要的事情。

你的最终目标应该是完成大量小型的、几乎丑陋的、略有不同的项目。完成这些之后,你可能会开始觉得这个过程有点无聊。这真是太棒了!如果这个过程变得无聊,你就知道是时候增加一些复杂性了,但正如之前提到的,确保你对这种复杂性有现实的认识,不要在刚开始学习 React 时就全力以赴地尝试构建一个全栈CRUD应用。

在开发小型应用程序的过程中,尽量不要复制粘贴代码。如果你粘贴了自己不理解的代码,一定要诚实面对。这可能会在将来给你带来麻烦,尤其是在你尝试调试涉及粘贴代码的问题时。这个过程可能看起来有点乏味。但事实上,有效学习编程的很大一部分在于重复的过程,坚持不懈,反复练习,直到成为你的第二天性。这样才能巩固你所学的知识。展望未来,在坚实的基础上构建更复杂的东西将会容易得多。

尽量不要一次学习太多东西

如果你同时在学习 Vanilla JS、React、Angular、Vue 等,你怎么可能抽出时间或精力去彻底学习这些技术呢?我理解人们这样做的原因,他们看到初级开发人员的职位描述列出了五十万种技术和技能,所以合乎逻辑的做法是开始学习所有这些技能。实际上,你可能最终只会用到其中的几种技能,如果你精通基础知识并表现出学习的热情,优秀的雇主会愿意给你一个机会。

最终,你应该一次只关注一个主题,消除任何不必要的干扰,最终你会对所学的东西感到更加舒服。

下一步是什么?

很多读者的目标都是成为一名前端开发人员。拥有一个半结构化的学习路径将真正帮助你实现目标。到目前为止,我们知道教程对于构建所选技术或概念的基础知识很有帮助,现在我们知道构建应用程序(不太复杂的)是巩固这些学习成果的好方法。你可能觉得这一切都很好,但在某些时候,你需要尝试一些更具挑战性的东西。

为您构建的应用程序增加复杂性可能是实现这一目标的一种方法。这很好,但最终您想要一份做这些事情并获得报酬的工作,因此最好的选择是尝试尽可能地复制您在实际工作中所做的事情。有很多类比,我喜欢登山,当我过去爬过一些具有挑战性的山峰时,我总是必须事先让自己保持健康。提高爬山技巧的最好方法就是真正地爬山。这看起来很简单也很明显,但是很多人会直接去健身房,跳上跑步机。他们可能会因此变得非常健康,但是一旦他们背上 15 公斤的背包,不得不爬上高耸入云的困难地形,他们肯定会很吃力。

你的下一步应该是尝试尽可能真实地复制你在实际开发工作中会做的事情。为开源做贡献是一个很好的方法。很多初学者对开源犹豫不决,因为开源提供的指导比教程少得多,而且前景可能相当令人担忧。我鼓励你坚持下去,尝试找到一个你感兴趣的项目(不必非常热门或极其复杂),并尝试以某种方式做出贡献。这可以是:

  • 改进文档
  • 建议新功能
  • 报告错误
  • 修复任何预先存在的错误

你或许会失败,或许维护者对你的修复或建议不感兴趣。但请坚持下去,因为你会找到一个能让你成功的项目。即使你没有成功,你也会在这个过程中学到一些非常有用的技能。我计划很快写一篇关于整个开源贡献流程的更详细的文章,敬请关注。

最后的想法

“教程乐园”或“教程地狱”这种说法可能根本不存在,最有可能的原因是你自己的项目构想过于宏大,超出了你目前的技能水平。除此之外,你可能还想一次性学习太多东西。这会导致你失去动力,对学习进度感到不满意。

走出这个安全、有指导的环境很艰难,但这样做几乎肯定会提高你的进步和学习质量。学习编程没有一劳永逸的方法。教程是众多你应该利用的工具之一——归根结底,你需要能够识别何时应该使用它们,同时理解它们的局限性。


感谢您的阅读!

如果您喜欢阅读我的内容并希望支持我的工作,请在Twitter上关注我😊

文章来源:https://dev.to/jrobind/how-to-escape-from-tutorial-land-5bde
PREV
不公平的技术招聘流程(高级开发人员的观点)
NEXT
掌握 JS 中的对象🍨(第 2 部分)