您好,欢迎您来天津信息网!
天津信息网

为什么大部分人在学编程后什么都记不住?

来源:阅读:12019-12-27 14:43:31
分享:

在程序员的职业生涯中,记住所有你接触过的代码是一件不可能的事情!那么我们该如何解决这一问题?

为什么大部分人在学编程后什么都记不住?

每个人都会在学习编程语言的时候,努力记住所有一切,这也不足为奇。虽然有些人可以过目不忘,直接在脑海里就能想出问题的解决方案,但普通人却不能。特别是那些刚开始学习和探索编程世界的人,比如我自己。

我逐渐了解到,记住所有你接触过的代码是一件不可能的事情!

那么问题来了:我们该怎么解决这个问题呢?

要明白你能做什么,而不是记住怎么做

其实,代码可以构建的功能有无数种可能性!你可以设想通过代码构建任何内容,只有你想不到的,没有构建不了的。学习一种新语言是一件非常令人激动的事情。查看问题以及代码示例,并通过这些示例学习如何利用这种语言以及/新概念完成工作,这都非常重要,但我们无法记住所有的信息,不要做无谓的尝试!你可以在今后需要实现的时候,再反过来查看,刚开始的时候,你只需要记住这种概念可以实现什么样的功能。

在我深入研究React.js时,这种方式给予了我的学业很大帮助。实现的可能性太多了,你有无数种方式传递props、创建新state、组合组件——实在太多了!就像一个大谜团!

我了解到React可以实现非常多的功能,虽然我无法确切告诉你该如何做,但我知道存在这种可能性,这很重要。

为什么大部分人在学编程后什么都记不住?

在需要时寻找所需的代码

就像学说一门新语言,你知道自己想说什么,但你不知道该怎么说。编程语言也是如此!

在我刚开始学习编程时,人们称Google为“终极工具”。那时我就在想:我使用Google已经很多年了……我错过了什么吗?

后来才发现:重要的不是搜索内容,而是搜索的方式。无论你想寻找什么答案,网上都有,就看你怎样才能找到了!

在用外语与其他人交谈,或用一门新语言编程时,你可以通过Google找到如何表达。你不必记住括号放在何处,或者这里是逗号还是分号。应该使用圆括号还是大括号这种问题很容易出错,而且也很容易解决!只需快速搜索,两秒钟就能找到答案。

但是,我有几次因为未能写出完美的语法而感到内疚。有语法问题那就有呗!重要的是你知道自己要做什么,然后只需要记住该如何做即可!

为什么大部分人在学编程后什么都记不住?

从何处下手?

学习一门新的编程语言必然会令人不知所措,还会引起混乱。当有人说:“放手去做就好了!”时,我会觉得很迷茫,我该从何处下手呢?最终我发现:你永远也无法为需要构建的功能做好准备,你唯一能做的就是走一步看一步,先动起来。

如果说每次没有遇到任何问题、不需要搜索任何技术、不需要寻求别人的帮助、也不必返工就能成功构建一个项目,我就可以拿到一美元的话,那么我告诉你……到目前为止我一美元也没拿到!

犯错是学习过程中的一部分。犯错是学习、发展和提高程序员技术力的一部分。而学习故障排除和调试代码则更重要,而不仅仅听别人说:“我也遇到过这个问题,你所需要做的就是……”。

我强烈鼓励你尝试自己解决问题。努力奋斗。不要害怕搞乱或破坏你的代码。必要的时候,可以重新构建整个项目。在学习新知识(例如编程)时,一遍遍重复才能学到真技术。一遍又一遍,直到你全部掌握为止。

为什么大部分人在学编程后什么都记不住?

如何实现呢?

找到你想要构建的东西,然后开始动手!不要犹豫不决。反复尝试和失败。当你不确定想要完成的功能时,请花点时间研究问题。分解成块。弄清楚如何解决每个块。然后,再想法把所有块聚拢到一起。如果你忘记了如何编写for循环,或者忘记了高阶函数会返回什么,那也无需担心。你可以参阅文档或指南,然后再继续。

有时这是一个缓慢的过程,但非常值得。最终,你会越来越有自信,而且有很多想要实现的新想法。

你会记住如何实现吗?不会。

但是,你可以参考过往的项目, 在Google上寻找答案,或者阅读论坛。答案都是现成的,你需要做的只不过是找到答案而已。

程序员记忆力差怎么办?

随着年龄的增长自己的记忆力越来越差,只凭感觉记忆下来的东西越来越少,却发现要学习的知识却越来越多。怎么办呢?

人力资源一句经典:你的价值取决你的不可替代性~~人在社会无外乎就是解决各种各样的问题,过程中很多事儿是没有人解决过的,例如发明原子弹,发明计算机等等。这种解决问题叫创新。还有就是写个快排,写个链表,写个路由器。这种问题,其实就是搬运与复现。解决第一种问题的人叫科学家,后者叫工程师。你的不可替代性就是你能解决别人解决不了的问题。

其实我们做软件的也好,做其他很多工作的也好。大部分流程都是看教程,看书籍然后尝试学习别人的流程复现与应用到自己的项目中。所以我们应该叫工程师。实际上也是这样称呼的,软件工程师。搞发明创造的叫软件科学家。例如Google很多黑科技。

既然咱们是工程师,评判依据就是你能用尽可能少的时间和经力去完成工作。古人有云书读百遍其义自见;熟读唐诗三百四,不会作诗也会吟。熟能生巧。倘若咱们熟悉了一百个同类型的项目的实现方法与技术。其实很多时候我们只是像在堆积木似的,搞定这个问题就OK了。举个例子:两个人呢,一个人苦心想去创造一个通用的系统架构,另外一个人从多种现有的系统架构选择一个更加通用的系统架构。谁更加容易操作呢?说道创造者,第二个人在这个更好的系统架构上修改了一下。更加好用了。这样难道不是对人类发展推动做贡献吗?

为什么大部分人在学编程后什么都记不住?

有上面的例子,我认为无论学习什么知识,技术之前,都需要先看看别人怎们干的,不要闭门造车。即使是理解一些概念,多看一些例子,绝对不会有问题的。。也就是这个原因:为啥咱们的教育要弄题海战术,为啥我们的论文后面需要添加参考文献。。语文你看多了别人的文章,应该也能写出不错的文字来,数学你总结多了题型,也能解决不少问题,软件你看多了别人的架构,文档,也能写出个像模像样的东西出来。其实回归到最简单的方法就是穷举法了。就是尽可能多的穷举。

穷举是一个比较累的事情,因为有可能可能性,所以需要一种一种的去实验,一种一种的去总结。。东西多了,谁的脑子也不那么容易记住。。其实我觉得不是我们记忆力越来越差了。而是我们本身需要记忆的东西越来越多,而我们的时间越来越少了。所以回归到古人或者世人说的那句话:好记性不如烂笔头。

首先说一下我是怎么样编程的。

我编程的思路就是,一次性编写终生受益,例如我要写一个tcp的server。我只要写好了,我就把这份代码存放起来。并且写一个自己的总结,这样在3年后我再想写一个tcp server我可以在比别人更短的时间写出一个能用的tcpserver。如此类推·~我有了自己熟悉的链表,hash。。。有了unix socket 、tcp 、udp 、raw 、有了python爬虫、有了路由常用实现,有了很多很多。如果人叫我去凭空写出这些来。我完全不行,如果把我的笔记带上。我将能比普通人更快的,而且更稳定的实现。。除了这些,我不断在github上发现一些可能用得上的项目,学习然后总结。至今已经快300篇自己的记录了。

记录不仅仅是笔记,代码,有些还是一些脚本。例如如何去安装一个web开发环境,可能就是一个脚本。。还有一些可视化的方法,例如我记不住GDB的命令,我就做一个GDB的前端,把常用的命令弄成图形化的界面。。点呀点就好了。例如系统很多的状态获取我记不住命令,就做个web的图形化显示。啥子都可以看懂。我又何必去记忆这些命令。

只要我们能解决问题,又管他我是一行一行写出来的代码,还是copy我之前写过的代码呢?记忆力差又怎么样。5年下来如果你写个上千篇文档或者类似的工具。难道生产力还会低,能力还会低么?古人云:君子性非异也,善假于物也。记不住,就想办法不记住也能解决问题。

为什么大部分人在学编程后什么都记不住?

世上无难事,只怕有些人。你能解决别人解决不了的问题:可以引申出你能以更低的代价解决别人觉得很难的事儿。生活就像是一场考试,而习惯靠记忆解决问题的人他是闭卷考试,而你是开卷而且以及总结好了(小抄)。


推荐阅读:叶紫网

免责声明:所有文字、图片、视频、音频等资料均来自互联网,不代表本站赞同其观点,本站亦不为其版权负责。相关作品的原创性、文中陈述文字
无法一一核实,如果您发现本网站上有侵犯您的合法权益的内容,请联系我们,本网站将立即予以删除!
Copyright © 2012-2019 http://www.tjxinxi.cn, All rights reserved.