00:00
哈喽,大家好,我是于皮,最近我说到最多的问题就是我学编程的时候记不住代码怎么办?这让我不禁想起了一句经典的词儿,孩子学编程老不好,多半是背了。其实我自己的记性也非常非常差,也是敲一次忘一次,我就玩命努力的在那背代码,关键最气的就是我背下来了,我发现自己还是写不出代码,但后来看了网上很多同学的经历,才发现记不住代码才是正常的,就包括我现在工作了,其实身边的同事写代码也都是找着文档在那到处翻,所以后来呢,我就改变了自己的编程学习方法,提高了效率。今天就把我的方法分享出来,希望还在迷茫的小伙伴们能够看完这个视频,收藏起来,学以致用。本视频分为三部分,首先是一些通用的提高记忆的方法,比如说编故事,我们可以试着把看到的知识点和自己看过的漫画、小说或者电影情节,或者和自己认识的人或事进行关联。第二种方法是兴趣强化,就我们更容易记住自己感兴趣的东西,那其实你对这玩意儿没兴趣,你也可以通过看一些更有趣形式的分享,比如说短视频来提高兴趣。
01:00
第三点是利用感官,就在我们记忆的时候可以添加一些肢体动作,比如说我写代码时候就喜欢挠头,不过不建议大家向我学习啊,毕竟这个头发还是要保护一下,不要我没变强就先突。还有就是体系化,我们在学习时最好按照一定的路线或者思维导图,按照顺序分成小点去记忆,这样有一个好处就是假如你忘了第二点,但你能想起来第一点,说不定也就可以顺带着把后面的内容也想起来。还有就是记忆时间,每天在固定的时间去做类似的安排,一般情况下来讲,每天早上和晚上睡觉前相对更容易记忆。我从小坚持到现在的习惯是每天睡觉前我会闭眼去回想今天一整天我做过的事情,以及明天我要做什么。在考试中或面试前,我也会把自己要复习的内容存到手机上,用听书软件播放,跟着音频去回想内容,有奇效。然后我不知道大家有没有听说过遗忘曲线,就是短期记忆消失的很快,想要留住记忆就要定期的去回想。第二部分分享一些编程记忆方法,首先是要做到选择性记忆,就我们的脑容量是有限的呀,一句话,记住。
02:00
懂什么,你能做什么,而不是具体怎么做。举个例子,这个程序员等电梯的时候都思考过的电梯调度算法,我不知道有多少学过它的朋友还能记得它具体的实现原理,反正我是不记得,但是这重要吗?这不重要。假如说现在老板让我设计一个电梯调度算法,我只需要知道有这么一个词,然后我去搜索,我去网上去看别人写的代码,我就能够做出来。再举个例子,假如让你做一个网页特效,你不需要知道每个特效具体怎么实现,你只需要知道有哪些现成的动销库可以直接用,这就够了,等要用的时候查文档就好了。而且像这种代码,它更新换代非常快,说不定你记住的版本在下个版本就已经彻底被淘汰了。所以对于编程的初学者,你只需要知道某个函数它是做什么事情的,在见到它的时候能知道它是干嘛的,在写代码的时候能想到去用它,这就够了。当然这也需要一定的经验积累啊。下一个方法是记笔记,关于记笔记,往往有两个极端,第一个是完全不记,以为没有必要,第二个是什么都记,生怕自己漏掉重要的知识点,恨不得把视频中的每一句话都记下来。结果到最后呢,笔记上内容很多,你自己可能都懒得看,你再想从笔记中找到有用的内容也非常难。不要忘了,笔记是帮助自己复习的,我记笔记的时候,重点在于记思路,记流程。
03:14
如我去看一个Java项目的教程,我会记录老师设计系统的思路以及实现系统的关键步骤,而不是小到每一行代码的细节。看完这些视频之后呢,我会对着自己的笔记,按照老师的步骤完完整整的将项目复刻出来,但老师重点强调的细节也是需要记一下的。记笔记还有一个好处就是帮助自己记录学习的过程和进度。下一个方法呢是多写代码,我看视频学技术时,我会先了解一部分理论,了解这个技术他是做什么的,有什么功能,然后再看实战,跟着老师看一集写一集,看完一套视频也要做完一个项目。下一个方法是卡塔练习,简单来说就是每日练习,想要学好编程,一定要坚持每天都要写一些代码。学前端的朋友可以拿JS实现一些小功能,跑马灯啊,轮播图啊,学后端的朋友可以每天坚持写几条C口语句,刷算法,数据结构的朋友呢,每天就坚持每日一题,下一个方法是多踩坑。下午在公司的时候经历过一个线上事故,忘了释放资源,导致服务器挂了,影响到公司赚钱了,所以直到今天我时刻记得写代码。
04:14
一定要释放资源。我们还可以试着主动去探测bug,故意编写一些可能出现错误的代码,能够找到bug也是一个很重要的能力。下一个是我最喜欢的方法,那就是分享你学过的知识,有的东西你以为你会了,但你没办法把它讲出来,那就是不会,而且面试的时候会吃大亏。有很多种方式,比如说写完档、写博客、买只小黄鸭、录视频等等。在我大学期间,经常会骑着我的小电动车带室友一起去上课,然后在电动车上我就经常巴拉巴拉巴拉跟我室友去扯一大堆的技术相关的东西。最后还有很多同学忽略了一点,就是复盘总结,学完一个知识,做完一个项目,不要把他们丢了,这都是你宝贵的财富啊。所以每当我做完一个项目,我会从零开始回顾做这个项目的初衷过程,看一看当时踩购的坑,现在能不能有更好的办法去解决,再加上一些心得感悟,把这些都整理成文章记录下来,这么做完之后,最大的感想就是,哎,自己以前写的代码真是烂呀,即使现在到工作了,我们老板要求写周报,我自己每天也都。
05:14
在写日报呢,已经坚持了一年半了,所以一年前的每一天我都做了些什么,我现在依然能够清晰回想。最后啊,假如说你敲了很多代码,学编程还是记不住,也不要怕,在工作中我们通常用三种方式解决这个问题。第一个是积累,我会整理自己写过的文章,写过的小代码片段,做过的项目,包括自己写文章时积累的表情包、素材、语料库等等等等,做到随搜随用,复制粘贴。我还有一个独家小bug库,记录了我学编程以来遇到的所有bug,点赞分享给大家。还有就是忘了的话,我们可以上网搜啊,可以去看文档呀,文档找不到去问同事啊,去问朋友啊,对不对?还有很重要的一点就是我们在写代码的时候要多写注释,多写文档,不要过了一个月,你自己写的代码自己都不认得,还说是谁的代码写的这么烂。当然,纵使学编程不应该背代码,但由于现在的这个形式实在是太卷了。
06:08
无论是小公司还是大厂,在面试的时候都喜欢考一些八股文,这是希望我们不得不去背一些知识。当然,时间允许的话,我们也可以通过实践来加深印象。比如说一道经典的面试题my cle如何性能优化?你当然可以选择一条一条去背,但还有更好的方式。就是你做项目用到MYSQL数据库,你通过实践来验证不同的调优方式能给你的项目性能带来多大的提升,这样的面试官博弈的时候你才有理有据。那关于大厂常见的一些前端Java后端八股文面试题,我也帮大家整理好,放到我自己的原创公众号程序员鱼皮中了。大家回复面试题自取就好了,说了这么多,能说成一句话,想学好编程,少背多写,背不下来的写出来记下来就好了。以上就是本期分享,我是于皮,持续分享编程学习经验和技术干货,希望大家可以关注我,也希望可以给本视频一个点赞收藏投币三联,我们下期再见。
我来说两句