it行业热点新闻网

自学编程的6个技巧总结

发布时间:2016-12-25 10:41:09   

    持续方法或许是采用浸泡式教学法。找到一种方法让本身沉浸在编程中很长一段时间(几个月?)。为了让它奏效,你需爱不休鞭策本身去学习新,通过遵循以下建议,你将很快地学习编程(至少你的成长/进步会快)。但你真的不该该眼中只有“快速”。只追危速度。

有一天,我的一个在学编程的伴侣问我:“我想快速学习编程,你有乜好的保举吗?”我曾在上大学的时候自学过编程,呢么多年旧时了,我意识到我或许是在用最眼瞓难的方式去学习同埋了解编程。本来我完全可以用更快的速度学习。因此,在回顾了旧时之后,我写下了呢些年来我渐渐掌握到的关于如何学习编程的一些事干。

自学编程的6个技巧总结

“快速”

对于“如何快速学习编程”呢个问题,实情我真的不知道何谓“快速”。我觉得,通过遵循以下建议,你将很快地学习编程(至少你的成长/进步会快)。但你真的不该该眼中只有“快速”。只追危速度反而会拖你的后脚,让你自食其果。“快速”学习的唯一可持续方法或许是采用浸泡式教学法。找到一种方法让本身沉浸在编程中很长一段时间(几个月?)。为了让它奏效,你需爱不休鞭策本身去学习新的东西,并迅速抽身撇。呢是编码训练营的一个优点。当你出来时,尽管你还不是老行专,但你会学得更快。呢也可以通过专登的导师教导或同埋专登的初学者一起学习来实现。

1.读>写代码>读>写代码(日复一日)

关于如何高效学习编程我爱给出的第一条建议是在阅读代码同埋编写代码之间循环往复。阅读代码(书籍,博客文章,开源代码)将帮忙你查看解决方案,了解最佳做法,并大致了解语言或系统。但是在你咁样做之后,你需爱本身实情去写代码。可以是任何东西。可以是小的编码练习或业余项目,但确保你能将之付诸于实践,并用某种方式使用你学到的东西。如果你不咁样做,鬼咁你会发现本身面对编纂器会无所适从老鼠拉龟。

呢方面的诀窍是让本身感到唔精神。呢是相当痛苦的,但一于抵咁样。编码遵循80/20规则。花80%的时间在20%的代码或20%你所学的东西上。习惯于呢种唔精神的感觉并克服它是关键。

呢个迭代周期不该该以周为周期或以月为周期发生,而是抵以日为周期。知识等待使用的时间越久,知识呢把斧头一于越钝。等待学习新知识的时间越长,你一于越难以将其融入到代码中。

我保举阅读关于通用编程主题的网企是lobste.rs。上面有许多关于许多编程主题的文章。另一个好的网企是Hacker News,但网企周时偏离话题。

2.不爱陷入僵局。请危帮手

我最大的错误是在学习编程陷入僵局的时候用了太长时间。在被卡住时,我会花很多时间在一些愚蠢的东西或一些我根本上不明白的东西上。有时候我需爱花费好几天口间才能完成呢些工作,而原本我可以用呢些时间做更多的事干同埋学习更多的东西,如果我能找到更好的解决方法的话。卡在一个东西上面超过一个钟基本上一于是在浪费时间了。

我保举三件事干以避免僵局。第一是试着总是阅读更多关于你使用的技术,并总体掌握正在发生乜。通常,当你陷入眼瞓境时,意味着你对需爱澄清的事干做出了不正确的假设。第二是咨询互联网。呢一点很显然,但依然值得一提。在网上查找并询问有过呢个问题的人是一个极之重爱的技能。Stackoverflow可以说是互联网上最好的网企。不爱惊在嗰度问本身的问题。通常,只爱尽力正确地阐述你的问题一于OK了。我真的希望往阵时我能多问些问题,但总是因为惊会显得愚蠢而止步。我的第三个建议是向你认识的人请危帮忙。通常,你或许已经理解了技术,并且有了问题,但是你可能需爱更高层次的上下文才能真正解开谜团。不爱胆怯,大着胆子上前去问吧。

例如,当学习Docker时,我花费了大量的时间从头开始重新构建图像。我从根本上不明白docker缓存,并用20分钟时间来等待单个更改到Dockerfile通过。我可能花了8个小时一于用在等待构建上。如果我读过更多关于Docker或问一个知道的人,鬼咁可能我早一于搞明白了,得得地在更短的时间内学到更多。

3.为项目而工作

在我的经验中,没有乜可以同埋工作于本身的项目以学习编程更有用的了。除了一些例外,我所知道的所有真正优秀的程序员都有一个习惯一于是工作于业余项目(呢也可能发生在工作中!)。有了一个点子并试图实现呢个点子是极之具有挑战性的。它需爱很强的自律心。但是,通过尝试实情做一件事干,你可以学到如何分解问题并应用技术。你面对的各种问题,以及你如何解决它们才真正是所谓的编程。知道编程语言的每一个骑呢细节的确是有帮忙的,但它只会让你越来越落伍。此外,想爱完成项开明车马驱动力是继续学习的动力。从业余项目获得的满足感远远超过你在抽象中学习东西的满足感。

我对于选择业余项开明车马建议是,选择你感兴趣同时你也有想法如何实现的东西。能够在开始之前表达实现总是有助于保持我的动力。在此旅途之中你必然会学到很多!

4.认识到深入钻研同埋搬运工之间的区别。相应地选择。

有两种类型的程序员:完美主义者同埋搬运工。有些人希望一切都是正确的,佢哋希望完美,佢哋希望遵循所有的最佳实践,并写出标致的优雅代码。佢哋想爱理解每一行代码。有别于嗰些不管三七二十一,只爱本身的代码能工作即可,即使对代码库有损害的人。平衡呢两种技能是极之重爱的。有时你抵深入钻研一个问题或项目,看看发生了乜。有时你抵让它工作即可,即使你不知道发生了乜。

每当你花费太多时间在某个东西上时,嗰一于问问本身:我抵采取边种方法?在大多数情况下,你会想取中间值。你想提供一个好的、坚实的解决方案,同时你可以自信地理解同埋修改,但没有耗费荒谬的时间。随着你作为开发人员的成长,你会更好地明白乜时候一于此撇一于可以,以及乜时候需爱以某些方式完成。

一于个人而言,我欢喜我的项目80%完美。如果你的项目是绝对100%完美,没有一行代码让你觉得尴尬,鬼咁很有可能你已经花了太多的时间。

5.同埋其佢程序员扳谈

学习编程的一个很好的方法一于是同埋其佢的程序员扳谈。不必倾论任何特定的内容。可以是你正在学习的东西,可以是你认为很酷的东西,可以是你正在工作的东西,皆可。你会发现很多程序员并不欢喜只是聊编程。咁样做可能会让你学到很多关于库,办事,编程语言同埋模式方面的知识。但是,最重爱的是,你将了解到其佢人是如何看待编程的。你会发现,你认为理所当然或从来没有考虑的事干在人同埋人之间是极之不同的。

如果你没有乜可倾的,嗰一于回到编纂器战争或tab vs space的话题。

6.尝试一切。如果搞不懂的话,嗰一于等6个月。

最后,我爱说的是,一直以来在我身上发生着咁样的事,我尝试过很多东西,但我一于是不睬解。在用30分钟尝试新的东西后,我会停下来。我想呢在起步时是很正常的。但是,我记得很多次,在6个月后(或3个月或9个月),我会回到同样的问题或技术上,弄清楚如何使用它。呢是因为我又掌握了一些我往阵时不具备的知识,一系因为它只是另一种方式的框架。等待一段时间,然后回去,总是一种最有用的方法。

呢方面的一个例子是学习如何使用终端。我记得很长一段时间我都惊豆到终端,因为我不知道如何使用。我花了一段时间并按照步骤按期地使用它同埋理解它。当然,如果我认识可以向我解答的人,一系找到一个好的资源来学习,咁样的事干一于不会发生!

结论

呢些事干可以帮忙新手在佢哋漫长的旅程中学习编程。我知道我还有更多东西需爱学习,并将继续学习如何永远地学习。最重爱的事干说三遍,请继续,不爱挤弃,不爱挤弃,不爱挤弃。当然,说说容易,因为学习编程有时可能会令人极之沮丧!不爱忧心。呢是正常的。每个人都经历过咁样的表情。

    更快的速度学习。因此,在回顾了旧时之后,我写下了呢些年来我渐渐掌握到的关于如何学习编程的一些事干。“快速”对于“如何快速学习我:“我想快速学习编程,你有乜好的保举吗?”我曾在上大学的时候自学过编程,呢么多年旧时了,我意识到我或许是在用。