首页 > 其他分享 >谈谈学习方法

谈谈学习方法

时间:2023-04-05 18:37:09浏览次数:31  
标签:努力 编程 适合 自己 学习 谈谈 方法


上一篇文章公众号上有同学给我留言:张哥,我是一名大二学生,我很喜欢 Android,但是我感觉我的逻辑思维有点慢,学习方法也不得巧,所以,问下您有什么建议吗?还是说我不适合学编程,大学计算机专业!

其实不止这位同学,之前很多人给我留言,说因为兴趣,选择了编程,而且自己也很努力,也在持续坚持学习,然而觉得自己没有任何进步,甚至一度怀疑自己不适合编程。还有工作了一两年的同学给我留言,说感觉自己也挺吃苦的,做的项目也挺多,但是总感觉自己一直处于初级水平,没什么进展…

我相信以上绝不是一个人,这些人你能说他们不够努力么?不一定,但是如果你们很努力,而且很有毅力,那么我觉得可能就是学习方法的问题了,所以今天单独写篇文章来谈谈学习方法。

什么样的人适合编程?

在谈学习方法之前最重要的应该是先确保你的方向对不对,因为很多时候如果朝着错的方向,不管你如何努力,方法再怎么正确,可能都是在错的路上越走越远,所以方向很重要。

很多人总怀疑自己不适合编程,所以这个问题我觉得是优先要解决的。确切的说真的不是所有人都适合编程,我认为逻辑思维能力是编程最重要的能力,而通常是理工科的人逻辑思维能力较强,尤其是高中数学、物理还不错的人,这部分人学习编程完全不用担心不适合。相反如果你逻辑思维能力较差,而且对编程又提不起兴趣,一对着电脑就头晕等等,这部分人可能真的选错了方向。

至于自己是不是计算机专业真心没大的区别,如果是计算机专业,只能说你比别人基础好点,上手更快些,但是小学成绩好,不代表以后高中成绩就好。以后能走多远全靠自己的学习能力以及够不够努力。

学习方法

在确保方向是对的,或者差不多没有偏差太大的情况下,自己很努力,而又没有效果可能就是学习方法的问题了。

我一直认为学习是没有捷径的,就有两条:努力,坚持!然而是有一些学习方法可以参考的,适合你的学习方法可以帮你提高学习效率,也便于你更好的坚持下去。

相信大家都有这样一种经历,在上学的时候总有那么一批人,总感觉天天在玩,但是成绩很好,而我就是这么一批人。而总有另一部分人很努力,几乎每天都在看书学习,但是成绩依然很一般,甚至很差,你能说他智商低下么?我不这样认为,我觉得大部分人的智商应该都差不多,不会有根本性的区别,所以归根结底很可能就是学习方法有问题!

  • 培养自己的学习规律

我自己上初、高中的时候成绩很好,但是平时基本不看书,给人的感觉就是天天在玩,但是成绩却又很好,然而我并不是不看书,我只是习惯晚上看书学习而已。偶然间我发现我晚上学习能学的进去,效率较高,所以我就培养了这个习惯,然后把它坚持下去,进而形成了自己的学习规律,一到晚上就会把笔记掏出来消化掉。其实大部分人都是有惰性的,所以很多人喜欢看鸡汤,看完鸡汤后感觉浑身充满干劲,然后努力一阵子,但是没几天之后又回归本质,这种我把它叫做冲动学习,根本不足以持续。

所以之前有人留言说让我多发些鸡汤,鸡汤有用么?确实有用,我自学编程的时候甚至都主动找一些鸡汤来激励自己,但是解决不了坚持的问题。前面我说了学习就两条,努力和坚持,努力相信稍微有点自制力的人都能做到,但是坚持恰是最难的。而培养自己的学习规律本质上就是解决坚持的问题,所以,试着发现适合自己的学习场景,你是习惯早上阅读还是晚上阅读,是习惯在教室学习还是在宿舍学习,是习惯地铁上看书还是公司加班时看书…

总之,找到最适合自己的学习场景,培养成自己的一套学习规律,养成习惯才足以持续下去!

  • 结合实际,寻找适合自己的方法

我们在学习的时候有人看纸质书,有人看电子书,有人看视频,有人看博客,有人看官方文档,有人看源码等等,这些都是学习的不同方法,没有高低贵贱之分。

找到适合自己的学习方法很重要,但是一定要结合自己的实际情况。我觉得很有代表性的一个例子就是,有些大神分享自己的学习经验是看源码、看英文文档过来的,然后有些人就照搬这套学习方法,然而殊不知连编程基础都没有,甚至简单的中文文档都看不懂,就学大神看源码、看英文文档不是在扯淡么。大神的学习方法有用么?当然有用,然而却不适合你。

对于大部分人来说看书是最普遍的学习方法,然而就是因为最普遍,门槛最低,所以大部分人看书自学编程的阶段水平差距没怎么拉开,然而一旦入门,每个人就找到了自己的学习方法,这个时候差距才慢慢开始体现。英文好的,就选择看官方文档,这是最权威的,比任何书籍、博客更有说服力,然而不是所有人都能看得懂的。0 基础的一开始可能看书都有点看不懂,所以有的会结合视频,帮助自己理解,但是一旦水平进阶了,再看视频会觉得很没效率,几分钟看篇文章就弄懂的知识点,看视频要讲半小时。其实就是因为你处于不同的阶段,你知道有属于最适合你自己的学习方法了。

所以,大神分享的学习方法不能一味的去照搬,要对照自己的实际场景,起点高的看英文文档也好,源码也好,起点低的就看书结合视频也好,总之寻找到最适合你自己的方法最重要!

  • 学习的目的

我们做一件事总归是有目的的,比如上学的时候学习就是为了能取得好成绩,考上好大学,以后出任 CEO,迎娶白富美!学习编程一样需要一个目的,没有目的,你就会没有任何动力。

之前有人问过我,说:张哥,你这么努力,到底是为了什么?其实我想说,不好意思,我很俗,我这么努力就是为了赚钱!

是的,我当初选择自学编程的目的就是为了赚钱,因为经历过生活的困苦,我才意识到钱有多么重要。所以我之后自学编程没有其他那么高尚的目的,很简单粗暴,但却很明确,所以我学习起来会比其他人更有动力,一想到以后学成了可以月薪过万,顿时充满了斗志。

所以学习有个目的很重要,你想清楚你是为了什么而学,如果你还没想清楚,那么先别急着学,这跟上学不一样,上学是被迫的,我们不得不上,但是现在你可以有更多选择。现在当然我想,大部分读者学习编程的目的可能都跟我一样俗,就是为了赚钱,如果你不是,恭喜你,你还不够俗!

  • 定个小目标

学习的目的是了挣钱,但是挣钱是个大方向,不够具体,总归有个具体的小目标吧,而且这个目标得是眼前看得到可达成的。

如果当初我给自己定个目标是以后月薪 10w,我想我会很有挫败感,因为不管我怎么努力,怎么付出可能都没法达成。所以我最初给自己定的目标就是月薪 1w,那会每天想着什么时候月薪 1w 就好了。

然而当我真的月薪 1w 的时候,意识到靠自己努力是真的可以实现自己梦想的,更加自信,更加有努力的动力。不过欣喜之外,我又给自己定了下一个目标,就是月薪 1w5,看看市面上月薪 1w5 大概是什么级别的,这个级别的开发大概需要具备什么样的技能,然后去朝着这个方向继续努力。

就这样,我一步步实现自己的小目标,达成之后给自己设定下一个小目标,就是这么简单直接有效!

  • 实践实践再实践

编程是一个实践比理论重要的多得多的职业,可能你看了很多书,很多博客,但是远没有亲自做一个项目来的有效。

相比我那个信息匮乏的时代,现在可谓是信息爆炸的时代,每天大量的技术文章可以看,信息的消化就变得很重要。之前很多人问我,说希望我多更新些技术文章,最好每天一更,我时间与精力跟不上是一个原因,退一步说即使我有大量的时间与精力去每天更新技术文章,对你来说你真的消化了么?对于技术文章来说,看过跟消化掉是完全两个概念。

你每天看的技术文章是没有目的性的,刚好看到了就看到了,要么就收藏了。但是远没有多大价值,下次碰到同样的问题你一样不知道怎么解决,而如果你是在项目中用到的,或者说遇到问题了,比如项目中需要用到自定义 View,这个时候因为项目的需要,再去搜索引擎中寻找答案,然后去学习、研究、实践,这才是最佳的消化信息的方式。

而我认为在找到工作之前的实践一般分以下三个阶段:

1.对着书本或者视频敲代码的阶段:这个是学习编程的最初阶段,哪怕完全按照出本敲一遍,也比你只是看有效的多,只有亲自敲代码你才能加深印象,方便你更深刻的理解;

2.模仿:当你有一定的基础知识的时候,但是缺乏实践经验的时候,其实这个时候最迷茫了,自己会点基础,但是自己写项目根本不知道无从下手,这个阶段我推荐你们从模仿着手。网上一堆 demo,就从这些 demo 入手,结合代码,自己理解,边理解边对着 demo 敲代码,直到你可以不看代码可以自己敲出来为止。也许是从一个小动效,再到一个半成品的 demo,再到一个完整项目的模仿,在模仿的过程中你会逐渐的进步,进而对一个真实的项目有所了解。这么说,我认为模仿是项目经验的启蒙!

3.练手项目:当你跨过模仿阶段的时候,这个时候要想着自己单独做个项目练手,也许是模仿的别人的项目,但是是完全自己从 0 开始搭建,不再需要依赖已有代码就可以折腾出属于自己的项目,在这个阶段会遇到各种问题,相信我,即使之前你掌握的技能,在这个阶段依然会遇到问题。但是一旦经历过这个阶段,会进步很大!

一般来说经历过以上阶段之后就可以考虑找实习或者找正式工作了,在工作中不同的人进步速度又会有所不同,有的人在工作中持续学习,总结经验,积极争取新的机会,有的人安于现状,得过且过,把自己眼前的事做完就行了。这本身是两种态度,工作之中把自己事情做好了就觉得 ok 了没有任何错,但是如果你只把自己当成一个打工的,那么你可能永远都是个打工的!

最后,很多人总觉得自己进步很慢,学习效率奇低,这个是正常的,大部分人都跟你一样,包括我自己,经历过跟你们一样的阶段,套用意见游戏里常说的话:当你遇到敌人的时候,就说明你路走对了。你需要做的就是确保在正确的道路上,找到适合自己的学习方法,按照自己的节奏,持续不断的努力,坚持下去就足够了!

本文原创发布于微信公众号 AndroidDeveloper,id:googdev,转载请务必注明出处!


标签:努力,编程,适合,自己,学习,谈谈,方法
From: https://blog.51cto.com/stormzhang/6171268

相关文章

  • MarkDown语法学习
    Markdown学习二级标题//##加空格三级标题//###加空格 字体//同为二级标题Hello,World!//两边双**加粗Hello,World!//两边单*字体倾斜Hello,World!//两边三星字体倾斜加粗Hello,World!//两边双波浪线加横线引用//>加一个空格选择狂神说java,走向人生巅峰分割线//三个......
  • 基于SSM+JSP实现的流浪猫狗救助系统(分为用户端和管理员端,领养动物、流浪动物知识学习
    @目录基于SSM+JSP实现的流浪猫狗救助系统实现功能截图系统功能使用技术完整源码基于SSM+JSP实现的流浪猫狗救助系统本系统是一个流浪猫狗救助系统,分为用户端和管理员端,用户端可以完成登陆注册、流浪猫狗知识学习、领养动物,管理员端可以对用户管理、流浪猫狗管理、领养管理、评论......
  • 信息系统项目管理师学习-230405 学习笔记
    1.第一章节信息的特征,动态性,依附性,传递性,主要这3个,其他的忽略。比如一个小狗,可以叫小狗,可以是个图片,可以是旺旺,体现了信息的依附性信息的质量属性,精确性、完整性、可靠性、及时性、经济行、可验证、安全。比如银行需要安全,市场上要及时性。香农定理简单看一下。 信息传......
  • 近期学习总结
    近期C语言课堂学习总结学习中遇到的小山们序号困难1用%f或者按照宽度取位数时会四舍五入,如果要不四舍五入直接按照位数取数字的话暂时不知道怎么实现2经常碰见不同类型的值不能进行运算的情况,暂时记不清哪些地方不能3有的时候不会一些算法,比如一些公式的表达,......
  • rpi4-osdev-学习开发日志-2
    前言大伙大概还没忘掉我之前说的话吧?有些那种一眼就知道怎么一回事或者那种只是单纯的接个线配置点东西看点成果的我一概不会理会的,也不会去写,没那个必要。那么,把代码编译一下吧。但是问题在于你用什么编译?怎么个编译法子?原文上来就介绍makefile是个啥以及教你写makefile,我们......
  • Mermaid(JS库)学习
    Mermaid学习1.指导文档https://mermaid.js.org/intro/n00b-syntaxReference.html2.画图模板2.1流程图flowchartLRA[Hard]-->|Text|B(Round)B-->C{Decision}C-->|One|D[Result1]C-->|Two|E[Result2]2.2时序图sequenceDiagramAlice->>John:Hello......
  • Win7的64系统电脑桌面图标无法随意排列的解决方法
    Win7系统电脑桌面图标不能随意摆放怎么办?电脑桌面图标无法随便排列位置该如何解决?请看下文具体介绍。解决方法:1、系统偶然出现状况,重新启动一下计算机看看;2、确定一下没有启用“自动排列”和“对齐到网络”功能,方法是鼠标在桌面空白处右击,然后点击选择“查看”,检查......
  • JavaScript中数组元素删除的七大方法汇总
    原文链接:https://blog.csdn.net/u010323023/article/details/52700770 在JavaScript中,除了Object之外,Array类型恐怕就是最常用的类型了。与其他语言的数组有着很大的区别,JavaScript中的Array非常灵活。今天我就来总结了一下JavaScript中Array删除的方法。大致的分类可以分为如下......
  • ES6中一些方便的数组方法和对象方法
    //一共七个方法,其实,都是带有遍历性质的方法参考https://blog.csdn.net/PeaYing/article/details/100175757......
  • 第二周学习
     1.构造函数的名称和类名一样。2.私有变量:private:变量  公有:函数3.调用成员函数用:对象名.函数名代码如下:#include<iostream>usingnamespacestd;classBox{private://私有变量可以理解为属性,也就是说Box这个类都有长宽高这三个属性 intx,y,z;//x,......