全文共2790字,预计学习时长6分钟前端
图片来源:Unsplash/Markus Spiske面试
对JavaScript开发人员来讲,现在是最好的时代,各种框架和库源源不断地快速涌现,并且其中不少都已开源化。目前,人们开始投入大量时间和精力开发JavaScript,用以解决生活中的许多实际问题。但一旦投入过多,开发人员极有可能在不知不觉中毁了本身,也毁了将来。算法
如下是阻碍JavaScript开发人员将来职业生涯的八个习惯:浏览器
在JavaScript生态系统的发展过程当中,jQuery相当重要。前端框架
JavaScript最初只用于幻灯片展现和有趣小部件的制做,例如网页中的日期选择器和图片库等。但由浏览器来提供不一样行为每每会出现一些问题,而jQuery能够运用抽象层来推进标准化,还能够为常见问题(例如DOM操做中出现的问题)提供一切解决方法,这有助于简化AJAX,并解决不一样浏览器差别形成的问题。数据结构
但现在,JavaScript和jQuery之间的联系已经再也不那么紧密了。jQuery最突出的功能,例如获取和选择器API,已经在浏览器中实现了标准化。框架
jQuery所要解决的问题(除了目前面临的例如状态管理这样的问题),其实和React等现代库所要解决的问题是同样的。数据结构和算法
开发人员总会用jQuery作一些莫名其妙的事,好比将DOM元素设为目前状态或数据,而后写出极度复杂的代码,既要为DOM顺利转换到下一状态提供方式,还要为了肯定该元素以前、如今和将来的状态。工具
多了解React、Vue和Angular这些人们正在使用的现代库,它们给Web应用程序带来了许多益处。单元测试
也许只有亲身经历过,你才能了解忽视健康所形成的一系列严重后果。
若是不锻炼,你将在变胖的过程当中面临许多毁灭性的健康风险。包括:
· 摄入的超额卡路里转化成脂肪
· 偏头痛(包括慢性)风险增长
· 体重增长引发的血压上升增长心脏压力
以上只是一小部分,不锻炼带来的风险实际上是无穷
孤立本身
图片来源:Pexels/Palu Malerba
家庭和爱人很是重要。
在学习JavaScript时,若是把本身孤立于社会生活以外,至关于在损害本身的生理和心理健康,不只会增长压力和焦虑感,还会形成失眠和体重降低,令人身心疲惫,意志消沉。
有些开发人员在写Web应用程序时常常跳过单元测试环节,虽然暂时不会有问题,但意料以外的错误极可能在某一时刻出现,将整个应用毁之一炬。时间和金钱就这样被浪费,小问题演变成了大问题。
代码可以在没有错误的状况下顺利编译,应用程序可以在没有控制面板警告的状况下顺利运行,并不表明这程序能够正式投入使用。
对小应用来讲,缺乏任一环节的测试可能并无影响,但一旦应用规模变大,控制难度增长,测试对整合应用来讲就变得相当重要,已有代码的任何变更均可能损坏应用的另外一部分。
想要节省未来作大项目的时间,整合测试将大有裨益。
初学者刚接触Web应用程序开发时每每急不可耐,立马开始用流行的库和框架,例如React、Vue和Angular,这是能够理解的。
做为一个初学者,相比直接学习工具,最好的方法实际上是一边学习工具一边学习JavaScript。JavaScript生态系统正以燎原之势发展,要想在市场中占据一席之地,至少必须具有React、Vue和Angular等工具的一些使用经验。
举个例子,在Indeed招聘网站上搜索了“JavaScript”,如下是第一条结果:
在这份职位描述中,应聘者必须具有jQuery和JavaScript的使用经验,因此在这家公司里,jQuery和JavaScript地位至关。
另外一份职位描述有如下几项“基本”要求:
不少岗位不只要求掌握JavaScript,也要求掌握JavaScript的衍生工具。不过,如今并不建议初学者花一半时间学习JavaScript,一半时间学习你选择的库,更好的安排是花65%的时间学习JavaScript,花35%的时间学习相应的前端库或者框架。
这样安排时间有利于初学者在学习“真正”的JavaScript的同时,也能学习流行的前端框架,扩展自身构建前端Web应用程序的能力,同时也能轻松自如地参与一些有关React或Vue等热门话题的讨论。
对每个职业开发人员来讲,保持代码的整洁都是必须,而在职业生涯早期就开始学习整洁代码的编写,也将十分有益。越早接触这些编写准则,也就越早掌握编写更整洁、更易维护的代码的能力。
对于较晚进入行业的开发人员来讲,学习如何编写更整洁的代码并不如“先学习JavaScript再学习框架”那么有用。但若是可以自主学习整洁代码的编写,初学者就没必要“模仿”其余JavaScript开发人员的编写习惯,而后写出丑陋的代码,相反,他们只会由于其余人写的丑陋代码而感到沮丧。
图片来源:Unsplash/Christian Erfurt
不少人在职业生涯中犯得最严重的错误之一,就是开始着手一项大规模项目。
“这又怎么了?”读者可能会问。
非中高级开发人员颇有可能没法在短期内完成“大项目”,尤为是对于初学者来讲,若是还未接触过编写整洁代码、测试程序、可伸缩框架等方面的最佳实践,那么在大项目中要考虑的因素实在太多,尤为是如何保证应用程序的稳定性。
对于正在踏入中级阶段的开发人员来讲,若是他们发现本身写的应用程序不能正确运行,其中许多代码须要重写时,会发生什么?在市场中,中级开发人员的就业机会其实很丰富,但他们却没法在履历中列出一些体面的项目,由于他们还疲于原有的大项目。当其余开发人员在面试中抢占了荣耀时,他们不得不开始怀疑是否真的应该继续手头的大项目。所以,更好的作法是从一些小项目入手,由于这些项目能够写进履历中。尽快丰富履历,也许下一秒机会就会出现。
太早接触大项目的另外一个问题是,若是初学者不曾参与过最佳实践,不曾学习正确的功能建构模式,未来一定须要重构或丢弃这一大堆代码,而到那时,最好的解决方法或许只能是所有推翻重写。固然,你也能够选择直接放弃,把现有代码直接放进简历中,但面试官必定会对这些代码作出严厉的负面评价。
人们对于应该什么时候开始学习数据结构和算法这一问题每每争论不休。有人建议先学习数据结构和算法,再学习JavaScript,也有人建议先学习JavaScript,再学习数据结构和算法。
初学者其实没有必要学习数据算法和结构,但接触算法也是好的,由于这有利于初学者初步了解计算机程序和计算。在任何计算机程序和计算中,算法都是必不可少的部分,事实上,计算机程序只是一堆算法和一些复杂结构化数据的集合体,仅此而已。