除了背代码,我们还能做什么?

共 3216字,需浏览 7分钟

 ·

2022-03-05 12:30


前端猎手
 链接每一位开发者,让编程更有趣儿!
关注

我是法医,一只治疗系前端码猿🐒,与代码对话,倾听它们心底的呼声,期待着大家的点赞👍与关注➕,当然也欢迎加入前端猎手技术交流群😛,文末扫码我拉你进群,一起交流技术以及代码之外的一切🙆‍♀️

转载自Duing(ID:duyi-duing


很多初学编程的朋友,可能都会幻想着这样一个场景——


自己化身编程大佬,像“骇客帝国” 那样手速如飞,啪啪啪地让屏幕下起代码雨。


图片源自网络,仅做配文展示


但问题来了,这些代码大佬是怎么记住的?难道全都是一个字符一个字符背下来的吗?





背代码,真的可行吗?



曾在知乎上看过这样一个提问:如何看待学长背诵代码拿人工智能国赛二等奖?


小渡一脸茫然的点进去看,发现摘要是这样写的——


“我是一个大一新生,本来想着打比赛升本更容易一点。但当我看到学长靠背诵代码拿到人工智能全国总决赛二等奖的时候,我开始质疑自己想要参加的究竟是什么比赛。


既然背代码就可以拿奖,那为什么不直接举办代码朗诵比赛,谁读的好,谁读的有感情拿奖呢?”


说实话,虽然程序员们一直自嘲“我们从不自己写代码,我们只是代码的搬运工”,但是如果真能把代码一字不差的背下来,也能称得上是大神级别的人物了。


而且在比赛的时候,要是能把代码一字一符号的背了,还能现场写出来,而且跑起来还不出错,真的是比现场编还要牛。


图片源自网络,仅做配文展示


所以,背代码这个事,还是要分两方面看。


第一,代码不太可能都是自己写的,工程上也推荐代码复用。


第二,代码一部分是可以记忆的,但不能都是背的,它是高度定制化的,根据需求调参,调整结构都是很常见的操作,大部分有技术含量的事也在这里。


这和写作文可不一样,背模板肯定是过不去的。但这却像是读书写文章,你读的书多了,文章自然就脱口而出,代码量的积累也是这样,当你积累了足够的代码,写代码时,也能足够的流畅,思路也会清晰很多。





除了背代码,我们还能怎么做?



刚才,我们已经明确了这样一个事实——记代码是有用的,但一开始就去死记硬背全部的代码,对学习和工作都没有太大帮助,反而耗费了你的精力和时间。


那么,除了背代码,我们还能如何记忆呢?


1、 联想记忆法


联想是指通过当前所感觉到或思考的事物而想起相关的另一事物,或通过大脑所想到的一件事情而引发的另一件事情,也就是用联想的方式利用事物之间的联系来记忆。


记忆的一个主要功能是在相关经验中建立联系,思维中的联想越活跃,经验的联系就越强,因此通过联想来加强记忆是一种非常常用的方法。


优点:如果想要在逻辑训练中发散思维,这倒是不错的选择。


缺点:需要本人有一定想象力和逻辑思维,而且想象力还不能跑偏。当然,你如果就是喜欢把if、else和男女卫生间联系起来记忆,小渡也没什么意见。


2、 画面记忆法


人脑天生对动画这样有颜色的东西感兴趣,记忆速度也非常快,看一次就难以忘怀,而且对照片的处理速度比文字快得多,照片上可以覆盖的内容可能需要数千字来说明,这也是我们常说的一图胜万语。


比起画面感,文字很难刺激脑皮层,也就难以记忆。试想一下:如果把能枯燥无味的书籍用漫画的方式展现出来,是不是就好记许多了?


优点:通过这种方法,只要记住一次,就很难再忘了。

缺点:有趣的图片教材非常稀少,通过这种方式记忆的话,基本上全靠自己的想象了。


图片源自网络,仅做配文展示


3、 熟练记忆法


就和我们上面说的一样,因为代码即使你没记熟也能通过搜索的方式打出来,所以可以先忽视记忆代码,正常的工作学习,代码打多了自然就记住了,就算没记住全部也会记住大概。


优点:不但脑袋很难忘掉,就连手也形成了机械记忆,对于代码信手拈来,利于之后向架构师方面发展。

缺点:需要长时间训练。


4、 只记关键点


学习编程,我们不需要把所有的代码都记住,我们只需要选择性的记住关键点。记住有什么,我能做什么,而不是其中的细节。


举个例子,让你设计一个电梯调度系统,你只需要听说过有个东西叫电梯调度算法,以及它能实现电梯的有序调度就行了,而并不需要死板地记住一整套代码,这是要具体问题具体分析的。


图片源自网络,仅做配文展示


没有人能够记住所有的代码,我们要学会寻找所需的代码。当然,多学一些总是没有坏处,如果有额外的精力和时间,去记一些关键常用的代码自然也是好的。





如何像大佬一样炫酷的输出代码?



如何记忆代码的方式也学到了,接下来,就是要像大佬一样噼里啪啦地超级炫酷地输出代码了!


1、 学会“偷懒”


有经验的程序员“老鸟”,会利用开发工具自带的代码提示和自定义代码模板,敲前几个前缀就刷地生成一堆代码!


比如在WebStorm编辑器中支持LiveTemplates 功能,输入"fori",啪的一声就自动打出循环语句,很快啊:


图片源自网络,仅做配文展示


2、 偶尔“挑食”


很多编程大佬确实不用查百度,因为他们一般用谷歌、GitHub和StackOverflow。


谷歌:不用多说,可以搜到更多国际化的资源、技术知识和解决方案。

GitHub:知名开源项目平台,遇到了哪个项目的bug,直接提个issues,通常会得到响应和解决。

StackOverflow:国外的IT技术问答网站,有很多的大神。在这里,甚至很多乱七八糟的冷门问题都能得到解决,也是个交友的好地方。


有这三件套,配上各种编程语言、技术框架的官方文档,搭配开发者手册、Zeal、Dash、DevDocs,再加上他们日积月累的经验,足够他们解决99.999999%的问题了,还要啥自行车?


图片源自网络,仅做配文展示

3、 清晰的coding思路让你事半功倍


首先要明确:打得快≠打得好。


有人曾经这样调侃:“你坐在一个程序员对面听哈。如果这哥们键盘敲的啪啪响,还时不时面露微笑。别急着崇拜。很多时候可能只是正在跟,测试组/美工组/产品组/运维组的美眉们聊天呢。


如果这哥们的键盘是有规律,有间隔的,咔哒……咔哒……咔哒,而且面色平静。那么有可能是在拷贝&粘贴代码。


如果这哥们眉头紧锁,东张西望,键盘隔好一会才敲一会,然又是东张西望。这才是有可能在开始编程。”


所以,用键盘敲击速度来评价的,不是程序员,那是打字员,程序员真正比拼的是熟练度和coding思路。


如果你长期使用一门编程语言、或者写重复的代码,其实很多时候,的确不用看文档、查百度也能够噼里啪啦写出来。同理,做过相关业务的项目,再遇到同类的项目,就很容易能设计一个解决方案,写代码也会更容易和迅速。


而大佬们能做到噼里啪啦打代码,并不是因为他们是神仙,一下子就能打通任督二脉,码如泉涌。更多地是因为他们已经提前设计好了详细的技术方案、整理出了清晰明确的接口文档,知道怎么实现功能,之后再去写代码就相对简单了很多,也能真正做到“码如泉涌”。


所以学编程还是要多敲代码、多做项目,培养好的编程习惯,学习编程思维,养成自然记忆而非死记硬背~





写在最后



写2行删一行,写10行删5行,真正的大佬都是从最简单的增删改查一点点磨出来的,但这个过程中打下的基本功,也往往决定了日后的编程高度。


大佬尚未炼成,程序员仍需努力!



RECOMMEND


推荐阅读

   

使用React Hooks时要避免的6个错误

坚持的最高境界——善护念

曾经的浏览器世界三分天下,你还记得吗?

反内耗第一步:停止做那些没有意义的事

TypeScript防脱发级入门——TS中的类

TypeScript防脱发级入门——TS中的模块化



很感谢小伙伴看到最后😘,如果您觉得这篇文章有帮助到您的的话不妨关注➕+点赞👍+收藏📌+评论📜,您的支持就是我更新的最大动力。

欢迎加入前端猎手技术交流群😛,文末扫码加我微信,我拉你进群,一起交流技术以及代码之外的一切🙆‍♀️

浏览 51
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报