如何成为一名卓越的前端工程师?

前端技术 everyinch 3402℃ 0评论

Google的前端工程师——Philip Walton 分享的自己关于如何成为优秀的工程师的一些观点《How To Become a Great Front-End Engineer》(原文地址http://philipwalton.com/articles/how-to-become-a-great-front-end-engineer/),文章的观点能给人带来一些深刻的认识。下面分享一下文章《How To Become a Great Front-End Engineer》里面的重要观点。

Don’t just solve problems, figure out what’s really going on.

这一句话的解释是:不要仅仅是解决问题,更要找出问题的根源所在。在编程过程中,我们总会遇到各种各样的问题,我们不要因为运气好解决了问题而沾沾自喜,而我们要做的是深入到问题里面去,查找问题出现的根源,时刻保持疑问,思考解决问题的方法有多少种,最终选择一个最优解决方法。就比如我们在前端开发的时候,为什么有时候相同的代码在IE6浏览器跟其他标准浏览器的表现不一样,通过google一下,我们发现问题是IE6对一些样式不兼容,然后我们可能在CSS代码中,通过hack写法单独对IE6写一个样式,然后重新打开IE6浏览器看一下,问题是解决了,可是这种解决方法是最好的吗?我们不能满足于解决问题,更要深入研究它,通过查阅资料寻找新的解决办法,最终挑选一个比较好的解决方案。

Learn to anticipate future changes to the browser landscape

学会预测浏览器领域将来会发生的变化。原文作者举了一个例子,早在2011年的时候,他在一个非常著名的 javascript 框架看到下面这样一段源码(大致如此):

var isIE6 = !isIE7 && !isIE8 && !isIE9;

我们现在看来,这一行代码我们并不能判断用户访问页面的浏览器是不是IE6,但事实上这一行代码的作用当时就是用来判断浏览器是不是IE6的,没错,在IE10出来之前,这一行代码是正确的,然而微软会继续升级IE浏览览器,如后来推出的IE10、IE11浏览器,现在这行代码就要失效了,要想这行代码不出问题,必须将代码改成:

isIE6 = !isIE7 && !isIE8 && !isIE9 && !isIE10 && !isIE11;

所以我们在写代码的时候,也要考虑到浏览器的发展变化,编写可维护性强的代码,你要学会预测将来可能会发生的变化,即使将来发生了,你的代码要依然能够正常工作。

Read the specs

阅读官方文档。我们都知道官方文档是最具有权威性的,我们中国人看到的大多数编程指南都是根据官方文档编写的,然而一些翻译人员的各方面能力参差不齐,所以最终写出来的书并不能更好地启发读者,甚至可能会让读者对一些规范的理解产生一定的误解,作者所举的例子是跨浏览器的兼容性问题,在此就不做介绍了。我们要做的是尽可能提高自己的英语水平,然后尽可能多地去查阅官方文档。有时候大家所以为对的,其实并不一定符合官方文档解释的。

Read other people’s code

阅读别人的代码。这无疑是一种非常好的学习方式,在前端开发过程中,我们通常会遇到代码不正常工作的状况,也许之前自己已经解决过相同的问题了,然后你用之前使用过的方法去解决问题,这对你的进步是毫无益处的,你要做的是去google一下这个问题,看看别人是怎么解决这个问题的,阅读一下别人写的代码,从中获取一定的启发,从而提升你的编程能力。而且在现实生活中,我们都是在别人写的已经存在的代码的基础上工作的,对别人的代码进行修改、添加。所以阅读别人的代码的习惯与能力是个人成长历程中所必需的。

Work with people smarter than you

跟比你聪明的人一起工作。在中国有句谚语“近朱者赤,近墨者黑”,大概是有这个意思吧,作为前端工程师,他们的知识体系大都是通过自学完成的,在自学过程中往往缺少与别人进行交流,所以写出来的代码通常比较糟糕,同时又没有代码写得比你好的人的指导,所以在很长一段时间你也觉得不会有多么大的进步。然而跟经验比你丰富的人一起工作,你就能获得更好的成长,因为别人会吐槽你的糟糕的代码,让你无地自容,然后怒火燃烧,斗志昂扬,当然你应该明白我这是开玩笑的,我想表达的是,你跟比你聪明的人一起工作,至少会有人审查你的代码,然后给你提出有建设性的意见,让你写出更优秀的代码。

Reinvent the wheel

重复造轮子。这并不意味着不让你在编程的过程中使用其他一些优秀的库(比如jquery)来提高你的开发效率,但是你要想成为优秀的前端开发工程师,你更应该做的是成为这些优秀库的维护者(开发者),而不仅仅是使用它们,单纯的使用那些优秀的库并不能让你理解问题的核心。唯有自己尝试去写一些自己的库,并且不断维护、优化代码,这样你才能学到更多,何不尝试一下呢?

Write about what you learn

把你学到的东西写下来。这个很重要。 虽然自己写得并不好,而且写下来并不一定会有人看,但这是记录自己成长历程最好的方式了。把学到的或者不理解的东西记录下来,而且有的知识,可能你觉得自己已经理解了,但是当你通过博客写下来的时候,你才发现事实并没有掌握好。所以坚持写博客,或许能强迫你更好地理解你所学到的知识。

分享&收藏

转载请注明:陈童的博客 » 如何成为一名卓越的前端工程师?

喜欢 (2)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
'; } if( dopt('d_footcode_b') ) echo dopt('d_footcode'); ?>