让开发人员变平庸的八个习惯,看看你中了几条

全文共2790字,预计学习时长6分钟

图片来源:Unsplash/Markus Spiske

对JavaScript开发人员来说,如今是最好的时代,各类框架和库源源不断地快速涌现,而且其中很多都已开源化。目前,人们开始投入大量时间和精力开发JavaScript,用以解决生活中的许多实际问题。但一旦投入过多,开发人员极有可能在不知不觉中毁了自己,也毁了未来。

以下是阻碍JavaScript开发人员未来职业生涯的八个习惯:

1. 使用jQuery

在JavaScript生态系统的发展过程中,jQuery至关重要。

JavaScript最初只用于幻灯片展示和有趣小部件的制作,例如网页中的日期选择器和图片库等。但由浏览器来提供不同行为往往会出现一些问题,而jQuery可以运用抽象层来推动标准化,还可以为常见问题(例如DOM操作中出现的问题)提供一切解决方法,这有助于简化AJAX,并解决不同浏览器差异造成的问题。

但如今,JavaScript和jQuery之间的联系已经不再那么紧密了。jQuery最突出的功能,例如获取和选择器API,已经在浏览器中实现了标准化。

jQuery所要解决的问题(除了目前面临的例如状态管理这样的问题),其实和React等现代库所要解决的问题是一样的。

开发人员总会用jQuery做一些莫名其妙的事,比如将DOM元素设为目前状态或数据,然后写出极度复杂的代码,既要为DOM顺利转换到下一状态提供方式,还要为了确定该元素之前、现在和未来的状态。

多了解React、Vue和Angular这些人们正在使用的现代库,它们给Web应用程序带来了许多益处。

2. 不锻炼

图片来源:Unsplash/Fil Mazzarino

也许只有亲身经历过,你才能了解忽视健康所造成的一系列严重后果。

如果不锻炼,你将在变胖的过程中面临许多毁灭性的健康风险。包括:

· 摄入的超额卡路里转化成脂肪

· 偏头痛(包括慢性)风险增加

· 体重增加引起的血压上升增加心脏压力

以上只是一小部分,不锻炼带来的风险其实是无穷无尽的。

3. 在社会中孤立自己

家庭和爱人非常重要。

在学习JavaScript时,如果把自己孤立于社会生活之外,相当于在损害自己的生理和心理健康,不仅会增加压力和焦虑感,还会造成失眠和体重下降,使人身心疲惫,意志消沉。

4. 不进行测试

有些开发人员在写Web应用程序时经常跳过单元测试环节,虽然暂时不会有问题,但意料之外的错误很可能在某一时刻出现,将整个应用毁之一炬。时间和金钱就这样被浪费,小问题演变成了大问题。

代码能够在没有错误的情况下顺利编译,应用程序能够在没有控制面板警告的情况下顺利运行,并不代表这程序可以正式投入使用。

对小应用来说,缺少任一环节的测试可能并没有影响,但一旦应用规模变大,控制难度增加,测试对整合应用来说就变得至关重要,已有代码的任何变动都可能损坏应用的另一部分。

想要节省将来做大项目的时间,整合测试将大有裨益。

5. 先学习框架,再学习JavaScript

初学者刚接触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等热门话题的讨论。

6. 没有尽早学习整洁代码的编写准则

对每一个职业开发人员来说,保持代码的整洁都是必须,而在职业生涯早期就开始学习整洁代码的编写,也将十分有益。越早接触这些编写准则,也就越早掌握编写更整洁、更易维护的代码的能力。

对于较晚进入行业的开发人员来说,学习如何编写更整洁的代码并不如“先学习JavaScript再学习框架”那么有用。但如果能够自主学习整洁代码的编写,初学者就不必“模仿”其他JavaScript开发人员的编写习惯,然后写出丑陋的代码,相反,他们只会因为其他人写的丑陋代码而感到沮丧。

7. 太早接触大项目

图片来源:Unsplash/Christian Erfurt

很多人在职业生涯中犯得最严重的错误之一,就是开始着手一项大规模项目。

“这又怎么了?”读者可能会问。

非中高级开发人员很有可能无法在短时间内完成“大项目”,尤其是对于初学者来说,如果还未接触过编写整洁代码、测试程序、可伸缩框架等方面的最佳实践,那么在大项目中要考虑的因素实在太多,尤其是如何保证应用程序的稳定性。

对于正在踏入中级阶段的开发人员来说,如果他们发现自己写的应用程序不能正确运行,其中许多代码需要重写时,会发生什么?在市场中,中级开发人员的就业机会其实很丰富,但他们却无法在履历中列出一些体面的项目,因为他们还疲于原有的大项目。当其他开发人员在面试中抢占了荣耀时,他们不得不开始怀疑是否真的应该继续手头的大项目。因此,更好的做法是从一些小项目入手,因为这些项目可以写进履历中。尽快丰富履历,也许下一秒机会就会出现。

太早接触大项目的另一个问题是,如果初学者未曾参与过最佳实践,未曾学习正确的功能建构模式,将来必定需要重构或丢弃这一大堆代码,而到那时,最好的解决方法或许只能是全部推翻重写。当然,你也可以选择直接放弃,把现有代码直接放进简历中,但面试官一定会对这些代码做出严厉的负面评价。

8. 不学习数据结构和算法

人们对于应该何时开始学习数据结构和算法这一问题往往争论不休。有人建议先学习数据结构和算法,再学习JavaScript,也有人建议先学习JavaScript,再学习数据结构和算法。

初学者其实没有必要学习数据算法和结构,但接触算法也是好的,因为这有利于初学者初步了解计算机程序和计算。在任何计算机程序和计算中,算法都是必不可少的部分,事实上,计算机程序只是一堆算法和一些复杂结构化数据的集合体,仅此而已。

留言 点赞 发个朋友圈

我们一起分享AI学习与发展的干货

编译组:莫菲菲、牟钰莹

相关链接:

https://medium.com/better-programming/8-habits-for-beginning-and-mid-level-javascript-developers-that-sabotage-your-future-540efc1304a2

如需转载,请后台留言,遵守转载规范

让开发人员变平庸的八个习惯,看看你中了几条相关推荐

  1. .NET开发人员必知的八个网站

    http://space.cnblogs.com/group/topic/33472/ 2009-10-22 14:07 来自 [组长]云中深海      : 当前全球有数百万的开发人员在使用微软的. ...

  2. 6天移动web开发视频教程_针对Web和移动开发人员的完整视频解决方案

    6天移动web开发视频教程 This article was originally published on Cloudinary Blog. Thank you for supporting the ...

  3. PHP开发人员的8个分布式计算谬论

    Seven fallacies of developing distributed computing applications were coined in 1997 by Peter Deutsc ...

  4. 开发人员转行做产品经理---1

    很多从事开发的小伙伴,工作几年后,都会有这样的疑惑,未来的职业之路应该如何继续.其实开发人员有自己的优势,那就是了解熟悉技术,从事IT行业,了解一些技术总也是好的.和开人员沟通有一定的优势. 但是开发 ...

  5. 高级java开发_我最喜欢的Java高级开发人员在线资源

    高级java开发 ProgramCreek.com博客最近发布了两个针对"高级" Java开发人员的有趣帖子:高级Java开发人员的十大书籍和高级Java开发人员的 十大网站 . ...

  6. 经验教训 软件开发_我作为开发人员10多年的经验教训

    经验教训 软件开发 12个月. (12 months.) That's the time we wasted while rewriting our software from scratch. 那是 ...

  7. java开发遵循的原则_Windows开发人员应遵循Java社区稳定的基础结构和开发环境,而不必大肆宣传

    java开发遵循的原则 在1990年代,当Java开始出现在开发人员场景中时,它就迎来了来自微软的竞争,因为它努力在国际开发社区中赢得一席之地. 但是,多年来,Java似乎已经达到了比Microsof ...

  8. 业余软件开发_我需要在业余时间编码才能成为一名优秀的开发人员

    业余软件开发 "You need to code in your spare time to be a good developer" - I've been hearing th ...

  9. 还在重复造轮子?Java开发人员必知必会的20种常用类库和API

    介绍 一个有经验的Java开发人员特征之一就是善于使用已有的轮子来造车.<Effective Java>的作者Joshua Bloch曾经说过:"建议使用现有的API来开发,而不 ...

最新文章

  1. 软件熵:软件开发中推倒重来的过程就是软件熵不断增加的过程
  2. CFileDialog 在使用sdk 后出现异常 Access violation
  3. unity打开一片黑_麦吉丽素颜三部曲俗话说的好,一黑毁所有! 天生黑皮肤,该怎么办!...
  4. 折半插入排序c语言 csdn,排序算法实大.doc
  5. 52 -算法 -数据结构类 Leetcode26 删除有序数组中的重复项
  6. Android音视频【一】H264编码基础
  7. 基于ssm java jsp的酒店管理系统 前后台
  8. c语言数组指针移位,C语言数组指针_3
  9. fanuc以太网参数设置视频_fanuc-mf系统 以太网设置方法资料
  10. cie色度图matlab,带你解读 CIE1931色度图
  11. 素材网站整理(持续更新ing~)
  12. 基于S3C2440数码相框
  13. QGIS:让数据随时间动起来
  14. 机器学习--西瓜书思维导图
  15. 练习---打印出电影天堂中电影的下载链接
  16. 六面阿里天猫,已拿offer,我的面经复盘总结,原来进大厂没那么难了
  17. redis安装与部署
  18. PTA 谷歌的招聘(java)
  19. 网站推广工具,怎么推广?
  20. 区块链的数据结构(一)——区块、链

热门文章

  1. CSS3: 利用分层动画让元素沿弧形路径运动
  2. Font Manager :字体管理及批量安装工具
  3. 深入理解JavaScript系列:《你真懂JavaScript吗?》答案详解
  4. Swift中文教程(五)控制流
  5. linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )...
  6. LeetCode 717. 1-bit and 2-bit Characters
  7. LeetCode 459. Repeated Substring Pattern
  8. Shell——基本运算符
  9. CSS——Fonts(字体)
  10. 【python】随机采样的两种方法