想学好编程,别背代码( 二 )


学编程时,我们应该:记住有什么,你能做什么,而不是具体怎么做  。
举个例子,现在让你设计一个电梯调度系统 。你只需要听说过有个东西叫 电梯调度算法 ,以及它能实现电梯的有序调度就行了,而并不需要记住怎么写代码 。等到要做的时候,去搜该算法具体的实现就行了 。
再举个例子,现在前端的类库那么多,假设让你做一个网页动画效果,那你在此前只需要知道 Animate.css 库可以实现,等用的时候查文档就好了,并不需要把它的每个类、每种用法都记下来 。别忘了,代码更新换代很快的,即使有的东西你能记住,但它也有时效性 。
尤其是对于编程的初学者,不要去背代码,你只需要知道某个函数大概能做什么事情,我要完成某个功能时能想到它(甚至是能搜到)就可以了 。
另外,刷算法题目的时候很多同学理解不了就直接死记硬背,其实记忆算法没有问题,但你要记的不是某段代码,而应该是一类题目的 解题套路  。
笔记学编程时,一定要多记笔记,无论是看书、看文章还是看视频 。
但是请注意,笔记不是什么都记!
有些同学怕自己忘记视频中老师讲的知识,直接把老师的原话一句句地敲下来,一个视频暂停几十次 。看似笔记上内容很多,但其实真正有用的、你能记住的东西很少,而且很浪费时间,大可不必 。
不要忘了,笔记是 给你自己看的 ,是为了帮助自己复习的 。我记笔记时,重点在于记思路、记流程、记关键节点 。
比如我看一个前端项目实战教程时,我会记录老师设计系统的思路、以及实现系统的关键操作步骤,并且在看完视频后自己按照笔记的步骤去回想、去操作,而不是把老师写的每一行代码都记下来 。还有就是记录老师重点强调的细节,尤其是一些坑 。
记笔记还有个好处就是记录自己的学习过程和进度,虽然会花一些时间,但性价比是很高的 。
多写代码想学好编程,一定要多写代码多实践 。很多同学理论玩的很 6、视频看的又多又快,但看完视频后还是不会写代码、没思路,大概率是因为敲的少了,都是纸上谈兵 。
像我初学编程的时候,就是只看不写,最后约等于没看 。
后来,我修改了自己学习的节奏,一般看视频学技术时:先看理论部分,了解某项技术它是做什么的、有什么功能;然后看实战,跟着老师看一集写一集,并且看完一套视频后,一定要对照笔记自己再做一个项目,把视频中讲到的重点技术进行综合运用 。
不要觉得写项目浪费时间,想要学好编程,就一定要多做项目,可以帮助你更好地理解技术、加深印象 。
另外,通过实践,可以帮助你理解很多枯燥的理论 。比如当时我们上计算机组成原理这门课,基本全是理论,上课听的一知半解、昏昏欲睡,也根本记不住 。
直到后来老师带我们到实验室,使用开发箱实际操作,通过接线点亮电路小灯,实现指令集运算,才真正帮助我记住了课堂上讲到的知识 。
卡塔练习我是从一本程序员修养类书籍接触到的 卡塔 ,官方的解释是:卡塔是指 “形”,即招式套路,练习时必须按形进行 。
简单来说,就是每日练习 。
想要学好编程,每天都要写一些代码,做一些训练 。比如学前端的同学可以每天用 JS 来实现一个小功能,学后端的朋友的可以每天书写几条 SQL 语句,巩固 SQL 语法 。此外,现在程序员找工作非常看重基础算法和数据结构,想要学好这些,我们也应该坚持每天刷 1 - 3 道题,坚持过就知道这到底有多重要了 。

想学好编程,别背代码

文章插图
 
每日一题
多踩坑相比快乐,我们更容易记住痛苦 。所以学编程的时候,一定要多写代码,尤其是要多遇到 Bug,多解决 Bug 。摔得越痛,飞的越高 。
比如我曾经经历过一个线上事故,因为资源未释放导致服务停机,直接影响了现金收益!所以直到今天,我时刻记得要释放资源,不要再翻车了 。
除了不经意间写 Bug 外,我还会 主动试坑  。就写代码的时候故意去尝试一些可能出现的操作,比如把函数参数的类型从 A 改为 B,然后分析对函数的影响,很多情况下,会有意想不到的收获,说不定就发现了一个知名框架的 Bug 呢?
 
激励和上面提到的兴趣一样,如果写程序能给我们带来激励和正反馈,我们就更乐意、更主动地去完成它 。


推荐阅读