从事web前端的人很多,每个人的学习方式,学习习惯基本不会一模一样!关于web前端(或者直接互联网),大家都知道,是做到老,学到老的一个行业。之前写文章的时候,我说过很多学习的方式和建议。今天换一下,说一下我个人不建议的学习方式,或者我个人觉得是妨碍进步的学习方式,希望大家引以为鉴!如果大家有什么补充和指点的,欢迎指出。大家一起交流意见,互相帮助!
这个可以说是学习的最大的一忌,也是提醒过最多的一个注是事项!网上的教程有许多许多,各个语言,各个知识点,各方面的都有,javascript,html5,css3等的一些,随便一搜就一大把,毕竟互联网最大的优势之一就是资源共享!但是很多人看教程就只是看教程,不动手实操。即使博客的教程,视频教程再好,自己不动手实操,写代码,这样的学习方式,记忆根本不深刻,容易遗忘,到头来,可能什么都没学会!而且有些教程,如果没有跟着动手实操,可能会蒙圈。个人建议:要挑觉得适合自己的教程,也要动手实操,写代码。即使不是边看教程编写代码!在看完了教程之后,一定要自己动手实操!过程中,可能会遇到些问题,但是这样才会学习到更多,记忆也更加牢固!
这个情况,针对javascript(下称:js)现在没有以前严重了,在我大学和实习期间,那个时间还是jquery傲视群雄的时候。很多人会在聊天的时候会说:有了jquery,为什么还要学js?有了vue,为什么还要学js?面对这样的提问,我那时候没有回答,心里想:jquery或者vue就是用js实现的,不会js,学jquery或者vue第一学得吃力,第二学jquery或者vue肯定不会很深入。而且,万一有时候,项目不允许用jquery或者vue,那就基本不会写代码了。这时候,如果学习其它的框架或者库,基本又等于重新学一门语言了。个人建议:先把基础(html+css+js)打牢,再学其他框架或者库。虽然在会js的情况下,我不敢说学js的框架或者库就是查文档,查API。但至少学js框架或者库可以不会那么吃力!
这个就是我之前的一个习惯,只顾着写代码,不知道:耦合,实例化,继承等专业术语,和别人交流,无限蒙圈!根本不知道别人在说什么!互联网的技术更新的速度非常的快,隔三差五就发布一个框架,一个库,一个工具。虽然不是每一个更新的技术都需要学习。但是如果只顾着写代码,不了解新的技术。这样很容易使自己停止不前,失去竞争力。个人建议:在写代码之余,要确保自己是不是了解代码,对代码有没有一个认识。以及多点留意消息,看下有没有什么技术更新!如果觉得更新的技术很实用,或者自己有兴趣,可以多了解下!毕竟互联网是一个做到老,学到老的一个领域,技术更新的很快,如果跟不上流行的趋势,说不定自己会被淘汰呢!
这个情况,比较普遍,无论是在学校或者是现在的培训机构。很多学习前端的人,基础没打牢,就在那里扬言要做一个大项目,我听到的有的人想做知乎,有的人想做世纪佳缘等等一些伟大的目标!但是全部人都是连网站的业务流程和逻辑都没弄清,最后越搞越乱,就放弃了!之前的伟大目标都成了烂尾楼,作用最多就是一个代码练习的作用!花了大量的时间,做了一件没很大的实际意义的事情!个人建议:从简单到复杂,复杂的网站,都是有很多简单的模块。不妨先从简单的功能做起,做完了一个功能再往里面加功能!现在所处的公司就是这样,开发的后台管理系统,开发几个月了,从一个只有员工的登录注册的功能,然后再逐一加功能,到现在项目逐渐完善!(web前端学习交流群:328058344 禁止闲聊,非喜勿进!)
这个情况就是多见于培训机构出来的人。我不知道是不是所有城市都是这样,但是广州这边,给我的感觉就是这样。就是目标不切实际,对自己也不够认识!之前在群聊的时候,在金三银四那段时间,很多人找工作,聊天的时候也遇到过很多培训机构的人。简历上是各种精通,刚毕业在培训机构培训几个月,要么就是自带两三年工作经验,要么就是说自己培训了几个月,技术水平和市面上两三年的人差不多。总之就是把自己吹得无所不能!但是一出题,就十问九不知。问闭包是什么,不知道;问原型是什么,不知道。问继承是什么,还是不知道。这里就得说下,我印象深刻的一道题了。这道题我就是用来对付那些人的!看到哪个人各种精通,各种吹。我立马出这道题,结果没一个能回答正确,题目在下面!
alert(a) a(); var a=3; function a(){ alert(10) } alert(a) a=6; a();
上面所说的,只是一个表面的现象,更重要的就是,好高骛远这个情况,很有可能会导致自己难以找到工作!因为一些企业认为最高只能给你4000工资,但是你自己却认为自己有实力拿到9000以上的工资。这样情况,很难找到工作!给人的印象也不好!更重要的是,这可能会影响自己的职业选择!个人建议:从实际出发,评估自己。想下自己会什么,能给企业带来什么!也可以停下别人的建议,和对比下别人的技术水平和工资,或者是上网找一些面试题,看下自己能不能完成那些面试题!最后评估下自己,认为自己处于什么位置!
这一点,相信很多人都有感触,就在开发上,遇到上一个或者几个自己觉得没办法实现的需求或功能。千方百计地想着逃避,比如:这个功能不是很重要,不做可以吗?这个功能我从来没弄过,搞不定的。这个功能外包给别人做吧,我们做不了!很多一些逃避话语。大家可以想下,如果每次都是逃避,那么时间一久,自己技术水平是不是还停留在基础那个阶段?以后要怎么提升自己的技术水平。个人建议:迎难而上。在web前端开发这块,如果遇上了难题是正常的,如果没遇到难题就是见了鬼!面对难题,我们应该是挑战难题,而不是逃避!大家都想提升自己的技术水平,挑战难题不就是一个很好的提升技术水平的实战机会吗?如果完成了之前认为不可能完成的难题,这样就是一个技术水平提升的见证!不是吗?我也觉得,每天就写简单的业务代码,不探索新知识,不挑战难题,这样做开发也没多少意思!
这个也是一个很常见的情况,很多人认为写的代码能用就行,能实现需求就行!根本不管日后的优化。在开发项目或者开发插件上,虽然我也是提倡:先实现,再优化这个方式!但是并不代表我开发完了就完了,不会再想优化!如果不试着去优化自己的代码,不探索写代码的更好方式,以后别说编写高质量,简洁的代码了,因为自己把学习编写高质量,简洁的代码的一个重要途径给封锁了。还有一个就是,项目上,有些问题可能是潜在的,就是现在看着项目没出现什么问题,但并不代表以后不会出现问题。反而在项目开发完了之后,试着去优化自己的代码,探索更好的实现方式,试着编写出高质量,简洁的代码。这样难道不是一个很好的学习过程吗?至于优化代码的方式,很多很多(比如常说的:代码过于重复,是否引入设计模式?网站性能一般,可否进行优化?),优化这一块,也不是说一步就优化到最好的,而是至少不会比以前差!关于优化,我之前也发过一些资源。很容易找到,网上的资源更是很多!大家挑着看便是!
不懂不问,这个大家都知道,就是遇到问题,从不问同事或者通过其他方式咨询别人。就是自己在那里苦思冥想,尝试各种解决方案。这样的方式,最坏的结果就是最终还是解决不了问题,让同事来询问开发情况。最好的结果问题解决了,但是解决问题所花的时间会肯定很多。不懂立刻问,这个就是词面的意思。遇到问题马上问别人。自己没怎么思考或者根本不思考。这样能解决问题,但是这样会导致自己可能会频繁的问同事,会搞得同事很不耐烦。如果把同事的耐心磨没了,可能回答的语气可能不会很好。这样不仅影响同事之间的关系,还会让自己之后不敢再请教同事,有让自己处于上面所说的不懂不问的风险。个人建议:适时请教。遇到不懂的问题,先自己结合上下文思考下,想下以前有没有遇到这个问题,解决不了去网上找解决方案,如果还没有解决问题,这个时候再问别人,问同事或者通过其它渠道问别人。这样自己有了思考,解决问题的时候记忆也很深刻,也不会频繁的打扰同事!
这个次面上跟上面的差不多,但实际上不一样!不懂装懂就是去问别人的时候,实际上别人的讲解并没有完全听懂,可能是碍于面子或者是因为不好意思打扰别人那么久,或者担心打扰别人太久,所以装作很懂。但是这样可能忽悠得了一时,很快又会露出马脚。这样会搞得隔一会又要去问别人同样的问题,这样反而会搞得别人更加尴尬,更加为难!自己也会打扰别人更多的时间!个人建议:如果有问题去问别人,只要你问的人不是一个非常没有耐心的人。他都会耐心的解答你的问题!所以,当问别人问题的时候,一定要确保自己是已经弄懂了问题的缘由,同事一遍没解释清楚,自己直接回答不明白,相信很多人都会再详细的解释一遍。如果担心同事工作忙或者其它原因,可以挑一个合适的时间!我现在问同事就是,要么不问,要问就切底弄懂!当然了,我的同事都很有耐心,每次我有什么问题,他们都会耐心解答,甚至是扩展开来讲!
很多人在接到需求之后,第一反应就是写代码,即使是在自己没把需求理清楚之前也是照样写代码。另一种情况就是,很多人是边写代码,边想需求。这个开发方式,万一自己对需求理解有误!可能会导致自己写的代码,很大一部分都要修改,甚至是全部删除重写。没理清楚需求就写代码这个情况,发生的概率应该挺大的,但是一般来说很难发现这个情况,毕竟程序员对代码的增删改查是再正常不过了!我本身也不知道,就是在一次的技术分享中,老大提出来的,他的建议就是对于一些稍微复杂一点的需求,先理清楚需求,简单画个流程图,然后在代码里面,先写上一点注释,再开始动手写代码!对于这一点,我现在就是在执行当中!除非需求真的很简单,否则我都会在草稿本上简单画一下流程图。根据流程图,写好注释,再写代码,这样会比较有条理,代码也清晰,日后的返工也可能会有,但是不会像以前那么多!在开发时间上,效率上,都得到了一个提升!
web前端现在的行情,我不知道其它城市,但是广州确实是不太好,竞争也很大,差不多是100人争一个职位,其中的原因就是培训机构林立以及前端入门简单。面对这样的情况,我们能做的,只有时刻学习,提升自己的技术水平。这样才能保证自己有很大的竞争力,能够从这么多人中脱颖而出。对于学习和提升自己,除了应该有适合自己的学习方式,也该对一些妨碍进步的学习方式引以为鉴!上面10点是我自己的一些想法。希望对大家有用!最后一个就是,如果打击有什么好的学习方式或者不好的学习方式,欢迎指点。让大家交流意见,相互学习!