有一天,一个正在学编程的朋友问我:“我想快速学习编程,你有什么好的推荐吗?我大学时自学编程,所以多年后,我才意识到,我大概是在用最难的方式学习和理解编程,我本来可以学得更快的我学会了如何学习编程“快”对于“如何快速学习编程”这个问题,我其实并不知道“快”是什么意思。我认为按照下面的建议,你会很快学会编程(至少你的成长/进步会很快)。但你真的不应该追求“快”。只有速度才会拖你后腿,让你受苦。唯一可持续的学习“快”的方法可能是使用沉浸式教学法。找到一种让自己沉浸在编程中的方法。或很长一段时间(几个月?)。为了让它发挥作用,你需要不断地推动自己学习新事物并快速摆脱困境。这是CodingTrainingcamp的优势之一。当你出来的时候,即使你不是专家,你也会学得更快。这也可以通过与专门的导师一起教学或与专门的初学者一起学习来实现。1.阅读>写代码>阅读>写代码(日复一日)关于如何有效学习编程,我要给出的第一条建议是在阅读代码和编写代码之间来回循环。阅读代码(书籍、博客文章、开源代码)将帮助您查看解决方案、了解最佳实践并对语言或系统有一个大概的了解。但是在你这样做之后,你需要自己实际编写代码。它可以是任何东西。它可以是一个小的编码练习或一个业余项目,但要确保你可以将它付诸实践并以某种方式使用你学到的东西。如果不这样做,那么您会发现自己被困在编辑器中。这里的诀窍是让自己不舒服……这很痛苦,但这就是应该的。编码遵循80/20规则。将80%的时间花在20%的代码或20%的所学知识上。习惯这种不舒服的感觉并克服它是关键。这个迭代周期不应该每周或每月发生一次,而应该每天发生一次。知识等待使用的时间越长,知识之斧就越钝。等待学习新知识的时间越长,你就越难将它融入你的代码中。我推荐阅读一般编程主题的站点是lobste.rs。关于许多编程主题的文章很多。另一个不错的网站是HackerNews,但该网站有时会跑题2.不要陷入困境。寻求帮助我最大的错误是学习编程时花费的时间太长而陷入困境。当我陷入困境时,我会花很多时间在一些愚蠢的事情上或者我根本不理解的事情上。有时,如果我能找到更好的解决方案,我本可以做更多事情并学到更多东西,但要花几天时间才能完成。坚持一个多小时基本上是浪费时间。我推荐三件事来避免死锁。诀窍是尝试始终阅读更多有关您使用的技术的信息,并对正在发生的事情有一个大致的了解。通常,当您遇到困难时,这意味着您对需要澄清的事情做出了错误的假设。二是上网咨询。这是显而易见的,但仍然值得一提。在网上查找并询问遇到此问题的人是一项非常重要的技能。Stackoverflow可以说是互联网上最流行的网站。不要害怕在那里问自己问题。通常,尽你最大的努力正确地表述你的问题。我真的希望我以前问过更多问题,但总是因为害怕看起来很愚蠢而停下来。我的第三个建议是向你认识的人寻求帮助。通常,您可能了解技术并有疑问,但您可能需要更高层次的背景才能真正解开谜团。不要胆怯,大胆上前询问。例如,在学习Docker时,我花了很多时间从头开始重建镜像。我根本不了解docker缓存,并且花了20分钟等待对Dockerfile的单个更改通过。我可能花了8个小时等待构建。如果我阅读了更多有关Docker的内容或询问了了解它的人,那么我可能早就想通了,并且可以在更短的时间内学到更多。3.做项目以我的经验,没有什么比做自己的项目来学习编程更有用了。除了一些例外,我认识的所有真正优秀的程序员都有从事业余项目的习惯(这也可能发生在工作中!)。有一个想法并试图实现它可能非常具有挑战性。这需要很强的自律能力。但是,通过尝试实际做某事,您可以学习如何分解问题和应用技巧。您面临的问题类型以及您如何解决这些问题才是真正所谓的编程。了解编程语言的每一个怪癖是有帮助的,但它只会让你越来越落后于曲线。此外,想要完成项目的动力就是不断学习的动力。你从业余项目中获得的满足感远远超过你从抽象的学习中获得的满足感。我对选择业余项目的建议是选择你感兴趣的东西,并且你知道如何去做。能够在开始之前表达自己的认识总是有助于保持我的动力。在这段旅程中你一定会学到很多东西!4.认识到深潜和搬运工之间的区别。相应地选择。有两种类型的程序员:积极分子和搬运工。有些人希望一切都是对的,他们想要***,他们想要遵循所有的最佳实践,写出漂亮优雅的代码。他们想理解每一行代码。与那些不在乎发生什么的人不同,只要他们的代码有效,即使它确实损坏了代码库。平衡这两种技能非常重要。有时您应该深入研究问题或项目以查看发生了什么。有时你应该让它工作,即使你不知道发生了什么。每当您在某件事上花费太多时间时,问问自己:我应该采用哪种方法?在大多数情况下,您需要取中间值。你想提供一个好的、可靠的解决方案,你可以自信地理解和修改,但又不会花费太多时间。随着您作为开发人员的成长,您会更好地了解何时可以保留它,以及何时需要以某种方式完成。就个人而言,我喜欢我的项目80%***。如果您的项目绝对是100%***,没有一行代码让您感到尴尬,那么很可能您在上面花费了太多时间。5.与其他程序员交谈学习编程的一个好方法是与其他程序员交谈。没有必要特别谈论任何事情。它可能是你正在学习的东西,它可能是你认为很酷的东西,它可能是你正在做的东西,没关系。你会发现很多程序员不喜欢只谈论编程。这样做可能会教会你很多关于库、服务、编程语言和模式的知识。但是,最重要的是,您将了解其他人如何看待编程。你会发现,你认为理所当然或从不考虑的事情,因人而异。如果您没有什么可谈的,请返回编辑器大战或制表符与空格。6.尝试一切。如果您无法弄清楚,请等待6个月。***,我要说的是,这一直发生在我身上,我已经尝试了很多东西,但我就是不明白。尝试新事物30分钟后,我停下来。我想这在开始时很正常。然而,我记得很多次,6个月后(或3个月或9个月)我会回到同样的问题或技术并弄清楚如何使用它。要么是因为我又捡到了以前没有的东西,要么就是换了一种方式装裱而已。等待一段时间再回去总是最有用的方法。这方面的一个例子是学习如何使用终端。我记得很长一段时间都害怕触摸终端,因为我不知道如何使用它。我花了一段时间并按照步骤定期使用它并理解它。当然,如果我知道有人可以回答我,或者找到一个好的资源来学习,这样的事情就不会发生了!结论这些东西可以帮助新手在漫长的编程学习之旅中。我知道我还有更多要学,并且会继续学习如何永远学习。最重要的事情说三遍,请继续,不要放弃,不要放弃,不要放弃。当然,说起来容易做起来难,因为学习编程有时会非常令人沮丧!不用担心。这个是正常的。每个人都经历过这样的心情。翻译链接:http://www.codeceo.com/article/self-learning-programming-tips.html英文原文:TipsforSelf-LearningProgramming
