逃离教程地狱的权威指南
互联网上流传着不少关于许多开发者面临的“教程地狱”困境的文章。他们告诉你要学以致用,提供一些项目思路和如何为开源做出贡献,但我觉得这些才是最终目标。我通常忽略的是如何从无休止的教程循环中走出来,成功地将这些知识运用到实际项目中。我创建了一个自己的小系统,帮助你摆脱永无止境的教程地狱,我想你们中的一些人可能会觉得它很有帮助。
什么是教程地狱?我是怎么来到这里的?
在深入研究策略之前,我们需要清楚地理解为什么我们会陷入这种困境。我个人有时也会陷入这种困境,所以我知道在一个老师为你精心布置的、完美无瑕的环境中构建一些炫酷的东西是多么诱人。然而,这正是教程的魅力之一,它们就像精心设计的演练,一路上没有任何陷阱,因为你会被老师手把手地指导。这能给你带来一种永恒的成就感,毕竟我们都知道,编程就是要不断突破障碍,迎接挑战。
别误会,我疯狂地学习教程,是因为这是我个人学习使用工具或语言的方式。不过,你需要区分一下,要么变成一个“笨蛋”,要么知道什么时候该停下来,把这些知识用在有用的地方,以免它们变得毫无意义。
步骤 1:列出你曾经有过的任何应用想法
狂看一整季《Wes Bos n' Friends》或《Coding ChooChoo Train》之后,第一件事就是记下你认为很酷的应用清单。就像任何事情一样,此刻天空才是极限。你的知识不需要应用,只需写下你认为有趣或有用的任何应用即可。我通常通过思考每天遇到的小烦恼,思考某个应用是否能带来一些实用性,从而获得最多的灵感。这可能需要几天时间,我很少能在第一时间想到一个好主意。有时,当我做一些完全不相关的事情时,灵感就会突然闪现。以下是我记下的一些示例:
- 用于清除物品的极简主义应用程序
- 天文事件提醒应用
- 手动驱动你的 Roomba 应用程序
- 隐藏 Facebook 上除活动之外的所有内容
- 图片上的 eBay 价格历史
第 2 步:列出您的教程
现在你已经有了一份很棒的应用创意清单,太棒了!在我们进一步精简这份清单之前,我们需要再列一份清单,但这次是列出你最近完成的所有教程。如果你没有完成教程也不用担心,即使你只完成了 20%,也只需记下来即可。以下是我最近完成的一些教程:
- Node 中的 API 设计
- Typescript 基础知识
- React todo 演练
- 为开发人员设计
- 玩转 React Dnd
- JWT 身份验证和登录
步骤 3:将应用程序与教程配对
在这个阶段,我们需要针对每个应用,找到任何我们认为对其开发有帮助的教程。最后,我们会看看哪个应用创意与我们最近的学习周期最相关:
-
极简主义应用程序,用于摆脱物品 -共 4 个
- 为开发人员设计
- Typescript 基础知识
- React todo 演练
- JWT 认证和登录
-
天文事件提醒应用 -共 4 个
- 为开发人员设计
- Typescript 基础知识
- JWT 认证和登录
- Node中的Api设计
-
手动驱动我的 Roomba 应用程序 -共 0 个
- (登月计划,与最近的教程没有实际重叠)
-
隐藏 Facebook 上除活动之外的所有内容 -共 1 个
- 为开发人员设计
-
eBay 图片价格历史记录 -共 3 条
- Node中的Api设计
- Typescript 基础知识
- 为开发人员设计
注意:你可能并不真正了解你的应用创意需要哪些类型的工具、库和框架,没关系!只需写下你最近学到的任何你认为在构建过程中可能对你有所帮助的内容即可。
步骤 4:选择最令人兴奋的应用程序/教程组合
在这一步中,我们要分析拥有最多教程的最佳应用创意,并决定哪些是最有趣和/或最能激发灵感的。就我而言,我最喜欢的两个应用是“天文事件提醒应用”和“用于清理物品的极简主义应用”。我真的很喜欢天文学,并且想要一个可以提醒我特定事件(流星雨、国际空间站、满月等)的应用,但这更像是一个“好玩”的应用。极简主义应用实际上可以帮助我解决最近遇到的一个问题,那就是决定哪些东西要保留或赠送。在这个例子中,我决定使用极简主义应用,因为我喜欢解决实际问题的想法。
第五步:剥离到基本组成部分
好了,我们已经有了一个应用创意,并且拥有扎实的教程基础和一些灵感。这一步是规划应用的高级功能,并看看我们完成的教程能在哪些方面帮助我们:
极简主义应用程序:
-
需要列出具有添加/删除功能的项目:
- 我可以使用 React Todo 教程来构建整个列表功能。这是应用程序的基础功能,因此我可以使用自己构建的 React Todo 应用进行修改,也可以再次参考该教程,根据我的特定需求进行调整。
-
每个项目都需要一个评级系统
- 评级系统不是我专门解决的问题,但我知道我可以在此过程中解决它。
-
用户登录并验证以保存列表:
- 我做的 JWT Auth 登录教程可以帮助我制作用户登录系统
-
简单但引人入胜的设计
- 这不是必需的,但我希望应用程序具有吸引力,所以我可以使用设计教程来完成这一部分
我所完成的教程已经涵盖了应用程序的大约 75%,剩下的 25% 我可以使用一些 Google-Fu 来涵盖。
最终,我按照上面的流程制作出了这款应用。你可以在这里查看。
我还没有添加用户身份验证,但我的想法的大部分已经通过上述步骤完成。
结论
我希望将教程分解成应用程序的构建块能够有所帮助。你可能已经准备好实现你一直以来的那个应用程序创意了,你只需要花点时间分析应用程序的基本功能,并确定你已经在教程中涵盖的所有领域。你永远不可能 100% 地了解所有需要的内容,但这实际上就是你作为开发者所做的一切。
由于大多数读者都想逃离教程地狱的漩涡,所以我把这个系统设计成你第一次尝试逃离这种困境时可以做的事情。我现在的做法是,先确定自己想要构建的东西,然后弄清楚自己知道/不知道什么,并观看或阅读一些关于这些未知内容的指南(但不要太多,只要能完成 80% 就行)。我很想知道其他人的策略,所以请随时在下方留言。
♫ 创作音乐 ♫
我认为分享一些我在写作时听的音乐会很有趣:)
文章来源:https://dev.to/beznet/a-definitive-guide-for-escaping-tutorial-hell-102c