关于程序员的学习方法小叙

    开门见山的说,程序员是一个活到老学到老的行业,不学习就要被时代的车轮碾死在路上,那么如何有效的学习,快速掌握一项技能是程序员必备的一项额外技能。

    最近一直在学习,从刚毕业时候做安卓开发,到转小程序,到转react,也经历了大大小小的波折,也很感激愿意帮助、分享、指导我的大佬,作为我们前进的指路明灯。经过了漫长的学习折磨过程,我也总结了自己的一些思路方法,这里分享出来,仅代表个人的思路,可能也并不适合所有人,完全是抛砖引玉,打开大家的思路而已。

一、当公司需要你快速上手一个你不熟悉的技术的项目的时候:

1.1 不要钻研原理,了解了该技术的基本概念及基本操作,保证你能读懂用该技术写的代码。

1.2 直接在github或者其他项目开源平台上找一些类似的项目,download下来直接看人家的功能是怎么实现的,因为别人的项目可能用的是比较新的控件和实现方式,有的时候视频上讲的是比较传统过时的思路。自己新建一个项目,仿照这个项目直接实现一遍,这样对用这个技术实现的项目你会有一个大致的思路了解,对上手你公司的项目会有很大的信心提升。

1.3 当出现你实在无法理解的问题后,立即询问周边大佬或者你懂这项技术的朋友或者加这个技术的讨论群(加群效果最小,很少有人理你),要学会不耻下问

1.4 当项目结束后有空闲时间了,或者每天下班后,将白天敲的代码中不懂原理的部分,专门去查询一些资料来了解补充,做到心中有数

1.5 其实总结起来就是一个核心思想:反向拆解思想 

       你知道最终效果是要实现一个玩具变形金刚。对小白来讲,要自己造一个变形金刚,甚至连如何开始都不知道,完全没有思路,当别人给你讲一个螺丝的功能时候,你的脑子里根本没有基本的概念,很抽象,对于这个螺丝能实现什么还是不是很清楚。而当我们把一个成品变形金刚拿给你,你把他一个个零件拆下来的时候,你就会直观的感受到:啊!原来这个螺丝是放在手臂上控制手臂弯曲的,这时候再回过头来整理思路,你就会发现一个个零件的作用在你脑海里清晰了许多。

二、当公司不需要你那么快上手,或者是你私下想学习一门新技术的时候:

2.1 文字不如图片,图片不如视频。说实话对于小白来讲,不看视频光看文字有时候甚至不知道这一串代码要写在哪个文件夹下的哪个文件里,很气。看一整套视频是提升最快的途径,可以看B站之类的免费公开学习视频,也可以交钱去专业培训机构上网课,配合技术文章来总结技术的深层原理

2.2 好记性不如烂笔头永远是真理。看一百遍视频不如看完跟着敲一遍,你会发现明明觉得很简单的地方照着视频敲下来就是不对。看一遍视频不敲,当你真正用的时候你会发现,实现这个功能需要磕磕绊绊的半个小时;当你看了视频后跟着敲一遍,当你真正用的时候,实现同样的功能可能几分钟就搞定了。

2.3 折磨才是成长。不要随便遇到一个问题就去问大佬,其一大佬也很忙总问他人家也会烦;其二不要养成依赖惯性,遇到问题就想找大佬帮忙,这其实变相来讲是一种惰性,“总会有人来帮我的嘛”这种想法很危险,遇到问题就退缩,你何时能成长为独当一面的公司顶梁柱?这里我建议除非遇到那种极其诡异完全没有思路的问题(因为有些问题可能不只是代码问题,配置问题、三方库代码BUG等坑也是很常见),常规代码问题建议折磨周期为一天,如果你这一天从早到晚都没有研究出解决方案,那么第二天再去问大佬

2.4 耐心是核心,一口吃成胖子是扯淡。 这里有人会说这不是和上面说的1.1自相矛盾么?其实并不矛盾哈,一切都是基于实际情况公司要求,对公司来讲效率第一,多数公司其实谁管你知不知道实现原理,你只要给我实现出来,大家有钱赚才是真话。而你自己想真正掌握一门技术,那就必须静下心来,一步一步走,就像学wapp开发,你连html、css、js都费劲巴拉,直接去学raect\vue\angular或者直接搞react native\flutter那才是无稽之谈

2.5 目标明确有计划的学习才是正途。 像前端工程师现在真的是难,要掌握的技术实在太多,如果是小白刚入门听到那么多名词直接晕球了,一定要做好规划,知道自己学的这门技术是用来做什么,解决什么问题的。例如想学习移动端多平台解决方案,目前主流的有Flutter和react native,我应该选择哪一个,他们对比各有什么优势,不要学Flutter学了一半又觉得rn更好。那么开发流程,如果要学Flutter我要先学习哪些前置技能,按照这样的流程来。

三、通用

1. 可以多写博客,不是为了给别人看的,单纯的为了学习总结+整理思路+备忘,通过写博客来加深对知识的印象,以后再敲代码的时候忘记了怎么写也可以回头来翻一翻,甚至也可以作为面试时的加分项

2. 代码规范与代码管理很有必要。不要觉得自己看的懂就不写注释,有些一长串的逻辑过段时间你自己也会想不起来是干嘛的;也不要随意命名

,什么data1,data2的,就算特殊情况写了也要写注释指明是干嘛的,要不会给别人造成很大困扰;不要以为独立开发项目就用不到管理工具,哪天代码丢了你哭都哭不出来,再说版本回溯不好用吗?



作为抛砖引玉,我就想到哪里说到哪里了,各位同学如果有更好的方式欢迎一起讨论!这里也不定期更新。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章