有不少朋友抱怨学习编程很难。
做了这么多年的测试,我也觉得学习编程确实挺难的。
那些能够成为专门写代码的程序员,我觉得这帮人都挺幸运的。
在我的测试职业生涯中,我曾经有好几次转后端开发的念头,也有过打鸡血通宵学习代码的光辉岁月。
但是事与愿违,一直都没有成功。
最大的问题在于自己的编码水平,确实没有达到同等工作经验的开发的水平。
其次是做了那么多年测试,养成了一些说不上好坏的“代码洁癖”,我忍受不了写得差的代码,尤其是自己的代码,我害怕自己写过的代码被后人diss,所以我一直不断在重构,但是还是写出了如同裹脚布一样恶臭且难维护的代码,最终失去了信心。
虽然如此,编程这条路还是走了好远,中间踩过很多坑,最近偶然间,看到测试汪大牛的一个B站视频《自学》,我结合自己学习编程的经历,汇总了一些大家(包括自己)学习的一些误区,大家引以为鉴。
误区1:忽略基础,好高骛远基础是重中之重,大道理每个人都知道。但是真正能潜心修练基础知识的人,又有几多?
到了职场上,基本上没有大块时间去学习,大多数人普遍的学习方式是:查百度。
很多知识都是用到了再去学。
这个没有什么不好的,时间少的情况下,这个方法最高效。
但是这样子的学习方式很容易就会一知半解,比如说:你知道python的生成器的定义,是和函数定义差不多,只不过把return换成yield。
但是你知道生成器的原理不?你知道怎么用生成器不?你知道为什么要用生成器不?你知道生成器的主要用途不?你知道生成器和协程的关系不?
如果你只是对生成器有个模糊的概念,但是不知道关于生成器的其他一些基础的东西,你是搞不定scrapy这个爬虫框架的。
哦,对了,你也不一定能搞定协程。
误区2:学到怀疑自己,从入门到放弃学习是一个循序渐进的过程,中间难免会碰到各种各样的问题。
没有谁能够刚学编程,就看得懂企业级别的项目代码。
只有不断的多学多练,等学识和经验丰富起来了,一切都会云淡风轻。
如果暂时遇到一些困难,或者有看不懂的代码,要么是自己的知识面还不够,要么就是这段代码写得太烂了,这时可以先选择性跳过困难,把编程基础打劳,方法总比困难多,总会找到解决办法。
编程门槛其实并不高,要不然怎么现在小学生都慢慢开始流行学编程了呢?所以要相信自己,不可能学不会,除非不想学。
误区3:孤军奋战,封闭学习有的小伙伴学习编程的时候,遇到问题,总是自己在一个人绞尽脑汁的去想凭借一己之力去解决。
有独立思考的能力是好事,但是当你苦思冥想都无法解决的话,还是不要自己闷头苦想了。
一方面,这样效率很低。
另一方面,久而久之,就会产生挫败感,继而对编程失去兴趣。
这时候应该把问题拿出来,和别人交流解决办法,有时候别人的一句话,就把困扰你好几天的问题解决了。
误区4:从众跟风,盲目学习或者说什么语言流行就学什么,完全不顾及实际情况。
其实编程语言没有好坏之分,只有适合和不适合。
想学什么结合自己的兴趣领域和目标岗位来定就好。
最怕就是动不动就想学全栈,什么HTML/CSS/JS/JAVA/Python/PHP/Go,样样都会——写"helloworld",但是真正拉出去做项目,一行代码却都写不出来。
建议就是选择好某个领域之后,就开始慢慢去深耕。 有经历再学别的语言,工作需要用到再学。
误区5:背代码?还在用记单词的方式学编程?学习编程和学习英语是两码事,有的人却还认为,学好编程是不是应该先把英语学好。
其实懂英语是有一定好处的,因为很多代码变量都是英文单次来命名,而且因为代码是外国人发明的,很多说明文档都是英文编写的(当然现在有很多已经汉化了)。
但是英文好和代码写得好没有太多必然的联系。
学习代码也没必要去背。
程序员最重要的能力就是要学会掌握规律,看代码也是一样,要看得懂作者的思路,理解为什么要这么去写代码,而不是一味的抄和背。
人的记忆是有限的,别说是别人的代码了,你能很好的记住你一个月之前写的代码逻辑么?
误区6:搜集海量资料却不看学习编程的路上,有很多伸手党,他们都有共同的爱好,就是喜欢收集海量的编程资料,喜欢先mark住等有空了再看。
每当有公众号程序员一凡发福利时,他们总会第一时间排队,收集到一手资料,把这些资料精心的存入网盘里面,还为这些乱码的电子书标题精心的命个名排个序,方便查阅。
然后呢?
然后就没有然后了,这些资料就在网盘里面躺着了。
这个跟等我有空了就学吉他一样,他总是没有空。
以前我就是这种人,现在其实也还是,但是这个是不太好的陋习。
其实很多资料都大同小异的,如果你真想学的话,不如把自己已经有的资料先看个几遍学透。
东西进不到自己脑子里,就是没有学到。
所以如果你还有资料的话,请联系我,我帮你收集。
如果对软件测试、接口、自动化、性能测试、测试开发、面试经验交流。感兴趣可以1079636098,群内会有不定期的发放免费的资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。
误区7:搞不清楚学编程的具体用途为什么教科书里,学习一门编程语言,总会介绍这门编程语言的历史?是闲得蛋疼么?
非也!
你如果不明白学这门编程语言的发展历程,你就很难知道他的市场定位,你也会不理解他为什么是这么定位的。
如果你拿C语言去做前端开发,也不是说不可以,但是现在已经2020年了,应该没有人会这么干了的吧?
所以,每种编程语言都有自己的适用范围,你只有知道用途之后,再去针对性学习,才对得起这门语言。
误区8:学习代码门槛太高?说实话,真的不高。
小学生都开始学了,能高到哪去?
就算是非科班出身的,又如何呢?现在市面上,非科班的程序员还是占很大比重的。
只要掌握了学习方法,并且对编程乐此不疲的学习,不说能不能找到工作吧,但是学会肯定是必然的。
误区9:过分的重复造轮子重复造轮子也不都是坏事,假如你对一个框架比较熟悉了,想要更深入的去了解,你可以尝试的去模仿这个框架的设计理念,自己去开发一套框架。(JavaGuide常干这事)
这种是聪明人的造轮子,其实一些大厂,也会经常重复造轮子,阿里爸爸很喜欢干这事。
比如什么Nginx已经很流行了,淘宝非得自己也搞一个Tengine,但是说实话,做出来还是真香的,毕竟人家是站在巨人的肩膀上,更上一层楼,把代码写得更好。
但是不建议啥都不懂的盲目重复造轮子。
比如你不知道Python发起http请求可以用requests库,你非得从底层自己去绞尽脑汁的想去开发一个发送http的库,从计算机网络开始学起,整个一年半年的去做这个事,当你快做 出来了,才知道requests这个库就能解决你的问题,然后懊恼不已,才明白自己就像脱裤子放屁,多此一举,这个就很没有必要。
误区10:把某某书某某视频看完,就能进大厂说真的,没有人能够保证。
醒醒,有策略的去学习,一步一个脚印,把基础学扎实,把面试题刷好,把自己封装好,总有一天你会被大厂调用。
做软件测试学编程的十大误区