自学编程有技巧吗?

发布于 2020年6月22日

自学编程有技巧吗?当然有!掌握这5个技巧让你的学习效率翻倍!

经常有小伙伴会问:“我想快速学会编程,有什么好的办法吗?”

其实,当问出这个问题时,你已经陷入了学习编程的“沼泽”——只追求速度,反而会拖你的后腿。虽然不知道“快速”的定义是什么,是"七天学会编程"还是”一个月轻松实战“?但是,效率最高的方法我知道,采用沉浸式学习法,让自己身处在编程的环境中。这就像学习一门外语,为什么有人为了学习外语,会前往这门外语的母语国家呢,因为那里有纯粹的语言环境,日常生活中的一言一行都将使用这门”外语“,沉浸在这样的语言环境中,会快速习得语言,这样的道理也同样适用于编程语言。

1. 读代码 - 写代码 - 读代码 - 写代码

在阅读代码和编写代码之间循环往复。阅读代码(书籍,博客文章,开源代码)将帮助你查看解决方案,了解最佳做法,并大致了解语言或系统。但是在你这样做之后,你需要自己实际去写代码。可以是任何东西。可以是小的编码练习或业余项目,但必须确保你能将之付诸于实践,并用某种方式使用你学到的东西。如果你不这样做,那么你会发现自己面对编辑器会无所适从无从下手。

这方面的诀窍是让自己感到不舒服。这是相当痛苦的,但就应该这样。编程遵循80/20规则——花80%的时间在20%的代码或20%你所学的东西上。习惯于这种不舒服的感觉并克服它是关键。

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

img

推荐几个网站: W3school:https://www.w3school.com.cn/; 博客园:https://www.cnblogs.com/; OSCHINA:https://www.oschina.net/

2. 不要陷入僵局,学会求助

学习编程时,常常会走进死胡同,让自己陷入僵局,于是花费了太长太长的时间。在被卡住时,有人常常会花很多时间在一些搞不明白的东西上。有时候需要花费好几天时间才能完成这些工作,而原本你可以用这些时间做更多的事情和学习更多的东西。卡在一个东西上面超过一个小时基本上就是在浪费时间了

我推荐三件事情以避免僵局:

一、试着总是阅读更多关于你使用的技术,并总体掌握正在发生什么。

通常,当你陷入困境时,意味着你对需要澄清的事情做出了不正确的假设。

二、咨询互联网
img

这一点很显然,但依然值得一提。在网上查找并询问有过这个问题的人是一个非常重要的技能。不要自己的问题很愚蠢,注意在问问题的时候,尽力正确地阐述你的问题就OK了,不要总是因为害怕会显得愚蠢而止步

三、向你认识的人请求帮助

通常,你或许已经理解了技术,而且有了问题,但是你可能需要更高层次的上下文才能真正解开谜团。不要胆怯,大着胆子上前去问吧。因为你可能花了几个小时也无法解决的问题,大佬们可能已经碰到过,或是有非常好的解决办法。时间是宝贵的,不要浪费时间在”固执“上,去创造更多的价值吧。

img

推荐《极客战记》(https://codecombat.163.com)这款产品,极客战记拥有AI技术加持,专属的人工智能老师——欧拉,能帮你分析关卡、梳理代码、分析错因、讲解知识,陪你轻松解决重难点关卡知识。对于内向的学习者,尤其是初学者来说,是一个非常值得一用的产品。

img

3. 为项目而工作

所有真正优秀的程序员都有一个习惯就是工作于业余项目,有了一个点子并试图实现这个点子是非常具有挑战性的。它需要很强的自律心。但是,通过尝试实际做一件事情,你可以学到如何分解问题并应用技术。你面对的各种问题,以及你如何解决它们才真正是所谓的编程。知道编程语言的每一个古怪细节的确是有帮助的,但它只会让你越来越落伍。此外,想要完成项目的驱动力是继续学习的动力。从业余项目获得的满足感远远超过你在抽象中学习东西的满足感。

《极客战记》(https://codecombat.163.com)是一款游戏化编程教育产品,使用真实代码通过游戏闯关的方式学习编程,每一个游戏关卡都可以让你带有目的性,整个过程都极为有趣,且具备挑战性

img

4. 认识到深入钻研和搬运工之间的区别,选择你的角色

有两种类型的程序员:完美主义者和搬运工。有些人希望一切都是正确的,他们希望完美,他们希望遵循所有的最佳实践,并写出漂亮的优雅代码。他们想要理解每一行代码。有别于那些不管三七二十一,只要自己的代码能工作即可,即使对代码库有损害的人。平衡这两种技能是非常重要的。有时你应该深入钻研一个问题或项目,看看发生了什么。有时你应该让它工作即可,即使你不知道发生了什么

每当你花费太多时间在某个东西上时,那就问问自己:我应该采取哪种方法?在大多数情况下,你会想取中间值。你想提供一个好的、坚实的解决方案,同时你可以自信地理解和修改,但没有耗费荒谬的时间。随着你作为开发人员的成长,你会更好地明白什么时候就此离开就可以,以及什么时候需要以某些方式完成。

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

5. 与其他程序员交谈

img

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

《极客战记》真的是一款很神奇地学习编程地产品。因为每一个关卡都有其故事背景,学习完之后你可以掌握大量话题故事,甚至你可以和别人针对某一情节进行讨论,或是告诉别人这些代码可以用于什么场景。

这些事情可以帮助新手在漫长的旅程中学习编程。我知道我还有更多东西需要学习,并将继续学习如何永远地学习。最重要的事情说三遍**:不要放弃,不要放弃,不要放弃**。当然,说说容易,因为学习编程有时可能会令人非常沮丧!不要担心。这是正常的。每个人都经历过这样的心情。