您当前的位置:首页 > 电脑百科 > 程序开发 > 程序员

想学好编程,别背代码

时间:2021-07-13 10:47:27  来源:  作者:程序员鱼皮

大家好,我是鱼皮。

最近私信收到最多的问题就是:我学编程的时候记不住代码,老忘怎么办?

比如这位小伙伴,学编程一个月了,问我咋背代码:

想学好编程,别背代码

 

头像不错

其实,我自己的记性是非常非常差的,所以我才在选专业的时候弃法从码。

我在最开始学习 C 语言编程的时候,也是敲一次忘一次,很痛苦。但我又不想放弃,于是强迫自己去记忆代码,渐渐地把学编程变成了背单词。但花了很多时间,好不容易把单词背下来了,却还是写不出代码,这就让我逐渐怀疑人生。

后来和前辈们的交流中,我发现记不住代码是很正常的,倒不如说能记住代码的人不太正常(太聪明、记性好)。

于是,我改变了自己的学编程方法,不再背代码,提高了学习编程的效率。

今天就分享下我的编程 “不忘” 大法。

鱼皮编程不忘大法

分为四部分:先分享一些通用记忆方法,再是面向学编程的记忆方法,还给出了忘记代码后的解决方法,以及一些必须要记忆的内容。

本文大纲:

想学好编程,别背代码

 

思维导图

通用记忆方法

以下方法,可以帮助我们养成记忆的好习惯,不止编程,适用于所有知识的学习。

编故事

相对枯燥的代码和理论,我们更喜欢看故事。试着把知识点编成有趣的故事,或者和某些人或事进行关联,能够加深印象。

比如我给大家分享编程经验的时候,会提到我的老弟小阿巴,就是为了加深大家的印象,一看到熊猫头就想到 bug,还有什么 “从前有匹马叫代码”,以及一些用故事讲技术的文章和视频,都能起到强化记忆的作用。

 

兴趣强化

对于自己感兴趣的事情,我们记忆会更容易。

比如我从前爱打游戏,数学公式记不住,但却能精准记忆怪物的血量伤害和装备的爆率。

所以想更轻松地记忆,最好能培养自己对这件事的兴趣,或者用更有趣的方式来学习,比如上面说到的看故事、看图解、看短视频知识分享。

 

利用感官

我们在记忆时除了需要动脑外,还可以利用好感官,比如搭配一些肢体动作。

关于这点,也不用刻意,每个人都有自己的习惯和小动作。比如有人喜欢用手比划,有人喜欢抚摸下巴,像我则是喜欢在背书时挠头,有的时候把头发挠掉了,看着这根头发,我就感觉知识记得更牢了。真就我变秃了,也变强了呗。

除了感官外,人脑经历过的事物,思考过的问题,体验过的情感和情绪,练习过的动作,都可以成为我们记忆的内容,帮助我们关联记忆碎片。

理解

记东西不能死记硬背,要思考,要理解,这点真的是从小听到大,就不多说了。

体系化

我们在学习时,最好按照体系去学习记忆,而不是东瞅瞅、西瞧瞧。

可以把零碎的知识整理成大纲、学习路线、思维导图等等,按序、分点地去记忆。

老读者应该发现了,我现在就经常在自己的知识分享文章开头放上一张思维导图,就是为了帮助大家快速了解文章结构,从而加深印象。

记忆时间

一般情况下,每天早上和晚上临睡前,是记忆的最佳时间。

我从小养成的一个习惯是:每天睡觉前会躺在床上回忆一遍自己今天做过的事情,的确有强化记忆的效果。

此外,考试周或面试前,我会把复习内容作为文档存到手机上,睡觉前打开 wps office 或者一些文档语音朗读软件,让音频伴我入睡。第二天早上起床前,可以先打开音频,闭上眼睛,听到知识点时自己在脑海中再回想一遍,真的有奇效!

 

定期回忆

不知道大家有没有听说过遗忘曲线(艾宾浩斯曲线),就是说我们在学习中的遗忘是有规律的,并且遗忘的速度先快后慢。

想学好编程,别背代码

 

遗忘曲线

观察曲线,我们发现,很多短期记忆消失地很快。所以不能 光记不忆 ,要趁热打铁,学完知识后抓紧应用,并且按照曲线,每隔一段时间复习一遍,才能留住所学知识。

编程记忆方法

上面的方法可以帮助我们更好地记忆知识,而下面的方法更聚焦于帮助我们学习编程,提高效率。

选择性记忆

首先,对于学编程来说,千万不要去背代码!

本来编程知识这辈子都学不完了,背代码的话下辈子都学不完了。

学编程时,我们应该:记住有什么,你能做什么,而不是具体怎么做 。

举个例子,现在让你设计一个电梯调度系统。你只需要听说过有个东西叫 电梯调度算法 ,以及它能实现电梯的有序调度就行了,而并不需要记住怎么写代码。等到要做的时候,去搜该算法具体的实现就行了。

再举个例子,现在前端的类库那么多,假设让你做一个网页动画效果,那你在此前只需要知道 Animate.css 库可以实现,等用的时候查文档就好了,并不需要把它的每个类、每种用法都记下来。别忘了,代码更新换代很快的,即使有的东西你能记住,但它也有时效性。

尤其是对于编程的初学者,不要去背代码,你只需要知道某个函数大概能做什么事情,我要完成某个功能时能想到它(甚至是能搜到)就可以了。

另外,刷算法题目的时候很多同学理解不了就直接死记硬背,其实记忆算法没有问题,但你要记的不是某段代码,而应该是一类题目的 解题套路 。

笔记

学编程时,一定要多记笔记,无论是看书、看文章还是看视频。

但是请注意,笔记不是什么都记!

有些同学怕自己忘记视频中老师讲的知识,直接把老师的原话一句句地敲下来,一个视频暂停几十次。看似笔记上内容很多,但其实真正有用的、你能记住的东西很少,而且很浪费时间,大可不必。

不要忘了,笔记是 给你自己看的 ,是为了帮助自己复习的。我记笔记时,重点在于记思路、记流程、记关键节点。

比如我看一个前端项目实战教程时,我会记录老师设计系统的思路、以及实现系统的关键操作步骤,并且在看完视频后自己按照笔记的步骤去回想、去操作,而不是把老师写的每一行代码都记下来。还有就是记录老师重点强调的细节,尤其是一些坑。

记笔记还有个好处就是记录自己的学习过程和进度,虽然会花一些时间,但性价比是很高的。

多写代码

想学好编程,一定要多写代码多实践。很多同学理论玩的很 6、视频看的又多又快,但看完视频后还是不会写代码、没思路,大概率是因为敲的少了,都是纸上谈兵。

像我初学编程的时候,就是只看不写,最后约等于没看。

后来,我修改了自己学习的节奏,一般看视频学技术时:先看理论部分,了解某项技术它是做什么的、有什么功能;然后看实战,跟着老师看一集写一集,并且看完一套视频后,一定要对照笔记自己再做一个项目,把视频中讲到的重点技术进行综合运用。

不要觉得写项目浪费时间,想要学好编程,就一定要多做项目,可以帮助你更好地理解技术、加深印象。

另外,通过实践,可以帮助你理解很多枯燥的理论。比如当时我们上计算机组成原理这门课,基本全是理论,上课听的一知半解、昏昏欲睡,也根本记不住。

直到后来老师带我们到实验室,使用开发箱实际操作,通过接线点亮电路小灯,实现指令集运算,才真正帮助我记住了课堂上讲到的知识。

卡塔练习

我是从一本程序员修养类书籍接触到的 卡塔 ,官方的解释是:卡塔是指 “形”,即招式套路,练习时必须按形进行。

简单来说,就是每日练习。

想要学好编程,每天都要写一些代码,做一些训练。比如学前端的同学可以每天用 JS 来实现一个小功能,学后端的朋友的可以每天书写几条 SQL 语句,巩固 SQL 语法。此外,现在程序员找工作非常看重基础算法和数据结构,想要学好这些,我们也应该坚持每天刷 1 - 3 道题,坚持过就知道这到底有多重要了。

想学好编程,别背代码

 

每日一题

多踩坑

相比快乐,我们更容易记住痛苦。所以学编程的时候,一定要多写代码,尤其是要多遇到 Bug,多解决 Bug。摔得越痛,飞的越高。

比如我曾经经历过一个线上事故,因为资源未释放导致服务停机,直接影响了现金收益!所以直到今天,我时刻记得要释放资源,不要再翻车了。

除了不经意间写 Bug 外,我还会 主动试坑 。就写代码的时候故意去尝试一些可能出现的操作,比如把函数参数的类型从 A 改为 B,然后分析对函数的影响,很多情况下,会有意想不到的收获,说不定就发现了一个知名框架的 Bug 呢?

 

激励

和上面提到的兴趣一样,如果写程序能给我们带来激励和正反馈,我们就更乐意、更主动地去完成它。

对我来说,自己主动去做的项目更容易记住,比如我至今都能想起大一时主动做的国家级创新创业项目用到了哪些技术、有哪些不足;但却想不起来大四时被要求做的图像处理毕业设计都有哪些功能了。

外力

除了主动之外,压力也能帮助我们提高编程学习效率,加深记忆。

比如我在腾讯实习期间,有一周上线时间很紧张,那一周基本每天工作到凌晨,所以印象尤为深刻。

 

分享

有的知识你以为自己会了,但没办法把它讲出来,就是不理解,这样很快就会遗忘,面试时还会吃大亏!

所以最好能把自己写过的代码、学到的知识分享给他人,能够极大地加深对知识的理解和印象,还能帮助自己发现不足。

分享的途径多种多样,比如写文档、写博客、对着小黄鸭去讲、参与演讲、录制视频等。

像我刚开始学编程大概半年多的时候,就建立了自己的个人博客,在上面记录自己学到的知识。现在来看,虽然当时写的真的是太烂了!但也为我如今做知识分享做了铺垫。

我真的是很享受学习知识并且对外输出的过程的,持续学习,持续输出。说个好玩的事,大学的时候骑着我小电动车带室友一起上课的路上,我都会跟他扯一通技术。分享真的是可以激励自己不断进步,并且帮助到更多人的!

 

复盘总结

这也是很多同学忽略的一点,学了一个技术、做了一个项目后,就赶紧把他们像炸弹一样丢掉了。其实,你自己学过的、实践过的知识都是值得珍藏的宝藏。

我在学校时,每做完一个项目,都会展开回忆,从当初想做这个项目开始、到当时的思路、实现过程、遇到的坑等,并且还会分析自己做的好或不好的地方,再加上一些心得感悟,整理汇总成一篇博客文章。

同理,学完一门技术时,我也会把这个技术的关键知识点汇总成博客。

现在工作了,我依然保持总结的好习惯,自己会写日报、周报、月报、年报等。现在回过头来看,也是一笔不小的成就,要不然谁还记得自己一年前干了啥呢?

想学好编程,别背代码

 

记录工作

忘了怎么办?

我知道很多同学追求完美,想把什么都记住,害怕今后忘记重要的知识。

其实对学编程来讲,忘记是很正常的,而且完全不可怕!

我建议大家索性少记一点,不要给自己太大的记忆负担,即使忘了,我们也有下面的方式来解决。

积累

首先,一定要注重积累,整理自己做过的事。

像我会整理自己写过的代码,这样等要用的时候,直接去找,然后 CV(复制粘贴)大法好。

我会整理自己写过的文章、看过的好文、好句子、好表情,打造自己的语料库、素材库,随用随搜,省去了大量记忆量。

我还会整理自己踩过的坑、写过的 bug,并且将解决方案也一同整理,即使下次再遇到同样问题,也能高效解决。

想学好编程,别背代码

 

整理 Bug 及解决

利用搜索和文档

忘了某段代码怎么写、没有思路、或者遇到问题了,那就去网上搜索一下;忘了某个框架的特性、函数的参数、用法,那就去看框架的官网文档就行了。

难道还要别人帮你搜索嘛?

 

多写注释和文档

程序圈里有个梗:有位程序员骂一段代码特别辣鸡,结果最后发现是自己写的。

这是每位程序员都会遇到的事:

  1. 看不懂自己写的代码
  2. 不认识自己写的代码

为了防止此类沙雕事件的发生,我们应该适当地给代码添加注释,像我的话经常会放一些设计思路、设计文档链接、作者等等:

/*
 * 功能:三连
 * 思路:请参照文档 xx.cn
 * 作者:狗鱼皮
 */
function sanLian() {
  console.log('感谢三连')
}

还可以适当回顾下自己写的烂代码,说不定就有什么优化灵感了呢?

除了注释外,做项目一定要写文档,把项目背景、选型过程、设计思路、实现方案都写清楚。不仅可以帮助自己总结工作,还能给其他项目的参与者指引和帮助。

最好把产品说过的一些话也记录上,防止日后产品改需求。

不得不背?

最后,虽然说学编程不靠背代码,但等到找工作的时候,一些面试的考点还是必须要记住的。不过在背面经、背考点时也不要像背课文一样死板,还是要加上自己的理解,多实践。

比如经典面试题:MySQL 如何性能优化?

死记硬背当然可以,但有时间的话,更好的做法是自己实践一下 MySQL 的优化手段,并且记录优化的效果,比如性能提升了百分之几等等,这样自然就能记住,跟面试官聊的时候也更有底气。


以上就是本期分享,希望大家能养成好习惯,多敲多练,别再强迫自己背代码了!

最后再送大家一些 帮助我拿到大厂 offer 的学习资料

指路:https://t.1yb.co/qOJG

我是如何从零开始通过自学,拿到腾讯、字节等大厂 offer 的,可以看这篇文章,不再迷茫!

指路:https://t.1yb.co/q0mS

我是鱼皮,点赞 还是要求一下的,祝大家都能心想事成、发大财、行大运。



Tags:编程   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
1. 前言了解响应式编程,首先我们需要了解函数式操作和Stream的操作,下面我们简单的复习一下喽。1.1 常用函数式编程函数式接口中我们先来回顾一下Java中的函数式接口。常见的...【详细内容】
2022-07-15  Tags: 编程  点击:(1)  评论:(0)  加入收藏
1、让我们一起来看下吧,直接上图。 第一眼看到是不是觉得很高逼格,暗黑画风,这很大佬。其实它就是------AidLearning。一个运行在安卓平台的linux系统,而且还包含了许多非常强大...【详细内容】
2022-07-15  Tags: 编程  点击:(2)  评论:(0)  加入收藏
OSCS(开源软件供应链安全社区)推出免费的漏洞、投毒情报订阅服务,社区用户可通过机器人订阅情报信息:https://www.oscs1024.com/?src=wx背景概述黑客通常使用受感染的机器而不...【详细内容】
2022-07-11  Tags: 编程  点击:(6)  评论:(0)  加入收藏
安全研究人员警告说,黑客可以滥用在线编程学习平台来远程发起网络攻击、窃取数据并扫描易受攻击的设备,只需使用网络浏览器。至少有一个这样的平台,称为 DataCamp,允许威胁参与...【详细内容】
2022-07-10  Tags: 编程  点击:(5)  评论:(0)  加入收藏
今天给大家分享一篇C语言编码规范,可以从源头上规避掉很多bug,希望能对大家有所帮助。 01 最重要的规则编写代码时最重要的一条规则是:检查周围的代码并尝试模仿它。 作为维护...【详细内容】
2022-07-04  Tags: 编程  点击:(22)  评论:(0)  加入收藏
什么编程语言最好?这是个能让各路程序员吵翻天的话题,每种语言都有自己的拥趸,全球现在找出三五十种编程语言都不是问题,热门的至少也有20种,先不说这些语言好用与否,它们的性能也...【详细内容】
2022-07-01  Tags: 编程  点击:(29)  评论:(0)  加入收藏
什么是机器语言? 机器语言就是由二进制数字构成的程序,CPU 可以直接对其解释、执行。汇编语言、C 语言、Java、BASIC 等编程语言编写的程序,也都需要先转换成机器语言才能被执...【详细内容】
2022-06-30  Tags: 编程  点击:(26)  评论:(0)  加入收藏
转自:https://www.jdon.com/61280 本文分析了来自 5,508 个软件工程职位列表的数据,以帮助您找出哪些编程语言的薪水最高。 我们分析了RemoteOK(世界上最大的工作委员会)上 5k...【详细内容】
2022-06-30  Tags: 编程  点击:(27)  评论:(0)  加入收藏
在本课程中, 您将 详细、逐步地解释经典的精选 LeetCode 问题 ,您将了解解决技术编码面试问题的最佳方法。 这是我在准备面试时希望参加的课程。课程英文名:LeetCode in Java A...【详细内容】
2022-06-30  Tags: 编程  点击:(19)  评论:(0)  加入收藏
四个手机编程APP带你玩转编程!语言学习宝典C语言编译器C++编译器C语言编译器IDE...【详细内容】
2022-06-26  Tags: 编程  点击:(22)  评论:(0)  加入收藏
▌简易百科推荐
有人说程序员单调乏味?看过他们的工位黑马君第一个不答应!在程序员的工位上,不仅显示屏多,玩具也特别多,特别是可爱的小黄鸭,(谁能给科普一下程序员为什么那么喜欢小黄鸭吗?△图来源...【详细内容】
2022-07-15  黑马程序员    Tags:程序员   点击:(3)  评论:(0)  加入收藏
因试用期遭劝退,一男子为发泄情绪删光自己在职期间所写系统代码被判刑十个月,如何看待这一审判结果?通过删库来发泄情绪的程序员是最蠢的。聪明的程序员会写一堆只有自己看得...【详细内容】
2022-07-10  多才小胖墩    Tags:代码   点击:(8)  评论:(0)  加入收藏
在当代职场流传着这么一句话,90后:终于进大厂了!00后:我要去国企! 不知何时,对于在职的年轻人而言,国企和大厂成为了最优选择,一个高薪,一个压力小,而两者之间的对比也日益激烈,针对哪...【详细内容】
2022-07-07  学掌门    Tags:程序员   点击:(10)  评论:(0)  加入收藏
让我们面对现实吧,软件工程师的薪水相当高。根据你的薪水,你可以轻松过上非常舒适的生活。然而,一些程序员喜欢探索副收入的想法来补充他们的全职工资。也许你想提前退休?也许您...【详细内容】
2022-07-04  独一无二的小魏同学    Tags:程序员   点击:(6)  评论:(0)  加入收藏
转自:https://www.jdon.com/61280 本文分析了来自 5,508 个软件工程职位列表的数据,以帮助您找出哪些编程语言的薪水最高。 我们分析了RemoteOK(世界上最大的工作委员会)上 5k...【详细内容】
2022-06-30  9i分享客栈    Tags:编程语言   点击:(27)  评论:(0)  加入收藏
【CSDN 编者按】丛纹弨是智能交通和物流领域的连续创业者,二十年的产业技术和创业管理经验,让他成为行业资深专家。本文从智慧物流平台的真正价值为何、如何通过算法解决行业...【详细内容】
2022-06-29    CSDN  Tags:CEO   点击:(22)  评论:(0)  加入收藏
相信很多朋友都想开发一款属于自己的应用,不管是学习还是工作中用,但是对于如何学习并开发完成这过程还存在迷茫点,活到老学到老!我也通过学习别人总结的,再总结一条适合自己的学...【详细内容】
2022-06-23  希里安    Tags:web开发   点击:(25)  评论:(0)  加入收藏
2022年的互联网行业变化挺大,接单可以作为开发者朋友能力变现的一条备选路,今天说说应该怎么判断一个项目是否靠谱以及市面上最常用的一些接单平台。接单需知接触接单的开发...【详细内容】
2022-06-22  程序员客栈    Tags:接单平台   点击:(37)  评论:(0)  加入收藏
一个普普通通的25+女程序员枯燥且忙(bai)碌(mang)的一天✅7:40 闹钟不响绝对不起床[偷笑R],穿衣、刷牙、洗脸(平时上班不化妆)✅8:00 出门(骑电驴+地铁+班车+5分钟步行)✅8:40...【详细内容】
2022-06-22  香菜真好吃ii    Tags:女程序员   点击:(18)  评论:(0)  加入收藏
自由职业者:程序员是当今最不受约束的自由职业者,可以帮助人们了解他们的网站和应用程序。 博客:程序员可以轻松地拥有一个专注于人们面临的技术问题和困难的博客。 主题和模...【详细内容】
2022-06-22  独一无二的小魏同学    Tags:程序员   点击:(33)  评论:(0)  加入收藏
站内最新
站内热门
站内头条