2017年前端开发者应该回归初心并掌握基础知识

原文链接:2017 is the year that front-end developers should go back and master the basics

知识共享许可协议
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。

【译者注】这篇文章组织得非常合理、友好。每个小标题提炼作者的观点,标题下面用简练的语言进行阐述,语言凝练而有说服力(是真的有说服力),然后给出作者认为很棒的资源。既阐述了世界观,也给出了方法论,可操作行很强。译者认为不仅适用于前端开发者,也适合后端、移动端、全端等。活该在medium上得到2.2k的赞。

在前端快节奏的生态中,我们总是倾向于把时间花费在最新的发明上,然后在互联网上讨论它们。

我并不是反对这么做。可是我认为我们更应该放慢脚步,去关注那些未曾改变(或改变不大)的东西。这不仅能够提高工作质量,而且传播其中的价值也会反哺我们,帮助我们更快地学习新工具。

这篇文章结合了我的经验和新年期许。我也非常期待在评论里看到你们的建议,正如我想和你们分享我的观点一样。

学习如何编写可读的代码

我们大部分工作不在于编写新的code,而是维护已有代码。这意味着你需要阅读更多的代码然后再去code,所以你要为下一位维护者优化你的代码而不是解释器。

我建议大家阅读三本非常棒的书,列表中的推荐程度由弱到强: - The Art of Readable Code by Dustin Boswell - Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin - Code Complete: A Practical Handbook of Software Construction by Steve McConnell

深入学习JavaScript

当每周都会出现新的JavaScript框架,并且比任何旧框架更好的时候,学习新的框架要比学习语言本身容易。如果你正使用一个框架却不了解它的工作原理,请停下来,立刻去学习语言,直到你理解了你在工作中使用的那些工具。

学习函数式编程

多年来我们都想要JavaScript实现class。现在实现了但是我们不想用了。因为我们现在更想要函数!我们甚至用函数(JSX)写HTML。 - Functional-Light JavaScript by Kyle Simpson. - Frisby教授的Mostly adequate guide to functional programming ebookhis free course

学习设计基础

作为前端开发者,团队里我们比任何人更接近用户,或许比设计师还接近。如果设计师还要去验证屏幕上的每一个像素,那么这里有你的失职。

学习如何与他人协同工作

我们中的许多人专注于编程,因为和人相比他们更倾向于与计算机接触。但不幸的是,世界不只有计算机。

其实我们很少在完全隔离的环境下工作:我们需要和其他开发人员、设计师、管理者讨论,有时甚至是用户。这对工程师来说很难。但是如果你想真正理解你在做的事情和你为什么这么做,交流就非常重要,因为这是我们做的事情的价值所在。

学习如何写对人类友好的信息

我们和同事、他人交流大部分基于文本:任务描述、评论、代码评论,git commit信息、短信和聊天信息、emails、blog、tweets等。

设想一下人们花多少时间来阅读和理解这些呢。如果你能通过更详细、简洁的信息减少别人的时间,世界会是更好的工作场所。

学习厚重的计算机科学智慧

现在(2017年)前端开发者不仅是写下拉动画那么简单。他们的任务比以前要复杂得多。臭名昭著的“JavaScript fatigue” 会因为我们必须要解决的任务难度和复杂性而不断增加。

这也意味着我们要去学习几十年来非前端开发者构建的知识。这一点也是我最想听取你们观点的地方。

这里我想推荐些个人认可的资源: - Learn To Think Like A Computer Scientist course at Coursera. - The five programming books that meant most to me by DHH

你有什么建议呢?你在2017有什么想学习的呢?