我关于学习如何编码的建议。
一些可以强化你的学习路径的技巧。
在本文中,我想尝试分享一些我在学习编程时发现有用的小“技巧”。我不是老师,也不是教育专家,本文也不是关于如何成为开发人员的分步指南,但它汇集了一些可以强化你的学习之路的小技巧。
以下概念适用于完全的初学者,也适用于经验丰富的开发人员。过去 15 年左右,我一直以编程为生,并且一直在使用这些技巧。
调查
学习任何编程语言或框架的第一步都是研究它。去 YouTube 上找一些能让你对想要学习的内容有个大致了解的视频。关键在于回答以下问题:“这能解决我遇到的问题吗?”或者“这东西能让我完成我需要做的事情吗?”
你很快就会明白,科技领域有海量的知识可供探索,你很容易想了解所有知识。但这会让你感到不知所措,觉得自己永远不够好。
相反,试着集中精力,把宝贵的时间花在那些能够让你和你的客户需要的东西上。

当你找到想学的东西后,就去找一门关于该主题的好课程。网上有很多课程,有付费的,也有免费的。但请记住,付费的并不等于更好。有很多开发者创造了很棒的免费内容和课程。如果你不确定,可以问问朋友、同事,或者在推特等社交媒体上。只要确保你选择的课程连贯,能带你从a点走到b点,而不是无休止地从一个教程跳到另一个教程。这也被称为“教程地狱”。
在课程中,写下手头的代码。不要只看视频就以为自己很厉害了。相信我,如果你不写代码,你就什么都学不到。
另外,不要把一整天的时间都花在课程上。大约一个小时后,你的大脑接收的信息就会越来越少。试着找到适合你的节奏,比如先看一个视频,写出代码,然后去做其他事情,几个小时后再回来继续学习。
如果你在一致性方面遇到困难,并且还没有听说过,可以看看100DaysOfCode。很多高级和初级开发者都觉得这是一个很好的激励工具。
研究与探索
当学习一种语言/框架的新方面或功能时,我发现利用CodeSandBox或CodePen等在线资源来尝试新技术非常有效。
假设你正在学习JavaScript 数组方法。你当然可以立即将它们应用到你现有的项目中。你也可以创建一个沙盒,单独试用它们。
这有三大优势。第一:你可以专注于学习新内容,而不会被其他代码的杂乱所困扰,这些代码可能会影响你的学习,使你感到困惑。第二:你可以保留这些沙盒,以后可以作为参考,而不必去其他项目或代码库中寻找你上次的实现。第三:你可以在以后需要时添加/尝试不同的用例以供参考。
另外,您还可以轻松地与他人共享您的沙盒或代码笔,以征求反馈或传递您新获得的知识。
子/部分项目
沙盒也是搞清楚项目各个部分的绝佳工具。例如,我最近一直在和 React Router 斗争,无法让它在我的项目中完成我需要的功能。所以我决定在沙盒中设置一个快速独立的测试用例,这样我就可以专注于这个特定的方面,结果很快就让它运行起来了。现在,我还有一个基本配置,每当我需要实现类似的用例时,都可以回到它上面。
免责声明:我与上述服务没有任何关联。还有其他一些很棒的服务提供类似的功能,但这只是我喜欢和使用的两个。顺便说一下。🙂
研究与实践
学习编程的唯一方法就是实践。我们都知道这一点,这叫做实践。想想你想做一个什么项目,然后开始做吧。但是……
如果你想开发一个待办事项应用,请不要去谷歌搜索教程,然后盲目地复制代码。首先,你没有输入任何代码,你内心渴望成为开发者的潜能几乎什么都没学到。其次,你错过了开发者的真正意义,那就是能够将项目分解成更小的功能,并解决编码问题。
一种更有效的方法是弄清楚/写出待办事项应用程序需要哪些功能,将其放在一个空白项目中,然后当你无法弄清楚某些事情时,转到官方文档或在谷歌上搜索该特定问题或语言功能。
当你的待办事项应用完成后,才去谷歌搜索一个待办事项应用教程,看看是否有可以改进的地方。如果有,就关闭教程,然后自己重新实现那个重构。
相信“首先拥有自己的知识”是关键。
免责声明:如果您在老板/客户上班时间需要实现实时搜索,请务必谷歌搜索实时搜索教程/示例,以节省大家的时间。您可以随时回家,稍后再开发自己的版本以供学习。

反射
无论你多么努力,你都不可能了解所有事情,而且你总会遇到问题和错误。这只是我们工作的一部分,每个人都必须接受。但这并不意味着你不能充分利用这些问题。
虫子是优秀的老师
处理这些问题的一个非常有效的方法是反思。你可以在项目完成后进行反思,但根据我的经验,最好是在修复错误/问题之后,或者在 Google 或 StackOverflow 等平台上找到问题的解决方案之后进行反思。
当你费尽心思修复了一个 bug 或问题后,不妨退一步思考,找出并写下是哪个“知识缺口”让你陷入困境。分析一下哪些函数或设计模式等是解决问题的关键。然后,你可以花些时间阅读关于该特定主题或语言特性的相关资料。
这是一种非常有效的学习技巧。而且,在很大程度上,它还能帮助你避免重复提问同样的问题。这样就能避免高级开发人员和同事对你不耐烦的表情。
可以帮到您的方法是创建一个 google doc(这样您就可以添加链接)或购买一个笔记本并写下让您感到困难的事情,以便您可以回家并做一些额外的学习。
分享与教学
除了练习之外,尝试向别人解释一些东西是我能想到的巩固新知识的第二好方法。所以我建议任何开发者,或者想成为开发者的人,今天就开始在 dev.to 上写博客或文章吧。
无论你是经验丰富的开发者还是刚刚起步,这都无关紧要。如果你遇到过类似的问题,那么其他人很可能也会遇到同样的问题。而你的观点或解释,或许正是那个人能够理解的。
只需围绕你学到的知识创建一个小用例,并尽可能清晰地写出来,以便其他人能够理解解决方案。你不仅可以帮助其他开发者,还能加深你对相关主题的理解,并为以后的使用提供参考。
当然,你应该尽力确保帖子中的代码正确无误,但不必过于担心出错。分享帖子时,如有需要,会有人纠正你。这本身就是一个学习的机会,而且你可以随时更新帖子。
享受
每个人学习的路都不一样,我希望本文中的一两个观点能对你有所帮助。如果没有其他建议,请记住这句话:
“玩乐是学习的最好方式。”——阿尔伯特·爱因斯坦
学习编程并非易事。但如果你想成为一名长期的开发者,你最好确保自己对学习过程充满热情,并且乐在其中。

评论?
我很想听听您对这个话题的想法和建议,所以让我们在 twitter 上联系@Vanaf1979或在 Dev.to 上联系@Vanaf1979并让我知道您的想法。
感谢阅读
鏂囩珷鏉ユ簮锛�https://dev.to/vanaf1979/my-tips-on-learning-how-to-code-2ihg