前端圈快速发展的今天,我们习惯于去尝试最新的技术并在互联网上讨论它们的优劣。我并不是说我们不应该这么做,我只是觉得我们是不是应该慢下来,看看那些不常变的东西:它们能够很好的提高我们工作的效率以及价值,还能同时帮助我们更好的理解这些新的工具。
这篇文章主要是结合本人经验提出的对新的一年的愿景。正如果我愿意分享它一样,我也希望能听到你的愿景。
学习如何写阅读性更好的代码
我们的大部分工作并不是写新的代码,而是维护已经存在的代码。这意味着比起写代码,你读代码所花费的时间更多。所以,你需要不断的优化你的代码,不是为了编译器,而是为了方便下一个代码维护者。
我推荐阅读下面这些神奇的书籍:
更深入的学习JavaScript
当每周都有更好的前端框架面世,我们常常花费大量的时间去学习框架而不是语言本身。如果你正在使用一个框架但是不明白它的原理,暂停一下,去学习语言本身吧,直到理解你所使用的工具。
Kyle Simpson
写的你所不知道的JavaScript是一个很好的开始,你可以在网上免费阅读这个系列的书。Eric Elliott
整理了一系列2017年值得学习的JavScript部分。Henrique Alves
整理的一系列的React使用须知(实际上对任何框架都适用)。Mike Pennisi
所写的JavaScript Developers: Watch Your Language!,帮助我们理解新的ECMAScript特性发布之前经历的TC-39
过程。
学习函数式编程
过去很多年,我们一直想要JavaScript实现class。现在终于有了,但我们已经不太愿意去用它了:我们只想要function
!我们甚至写HTML都用function
(JSX)。
- 函数式JavaScript-Kyle Simpson
- Frisby教授的函数式编程电子书以及他的免费课程
学一些简单的设计
作为一个前端工程师,我们比团队里的其他任何人更接近用户,甚至比设计师还要接近。如果设计师不得不验证页面的每一个像素的话,你肯定做错一些事情了。
- 黑客与设计:一本书以及一门课程
- Tracy Osborn所做的
面向非设计师的设计学
演讲 - Nathan Barry写的网页应用的设计这篇文章
- Jason Santa Maria所著的网页排版这本书
- UI动画的一些文章:怎么使用动画来提高UX
学与人合作
有些人喜欢编程是因为他们更习惯于计算机交流而不是与人交流–不幸的是,这种想法是错误的。
我们很少单独工作:我们不得不与其他开发者,设计师,经理,有时候甚至是用户进行交流。这很难,但是如果你真的想理解你在做些什么,与人交流很重要。并且,这也是我们工作的价值所在。
- John Sonmez所著的软技能:代码之外的生存指南
- Robert C. Martin所著的代码整洁之道:程序员的职业素养
- Jim Camp所著的Start with No: The Negotiating Tools that the Pros Don’t Want You to Know
学会如何写文字描述
文字描述例如任务描述、评论、代码注释、git comments、聊天信息、电子邮件、推特以及博客等在我们与同事以及他人的交流中占据很大一部分。
想象一下人们花费了多少时间再阅读以及理解上面。如果你能够通过写更加清晰、精准的文字来减少阅读以及理解所花费的时间,这个世界将更加美好。
- William Zinsser所著的英文写作指南
- William Strunk与E. B. White合著的英语写作手册:风格的要素
- 欧文的写作准则
学习经典的计算机科学精华
前端已经不再是做一个简单的下拉框就好了。它已经变得比以往任何时候都要复杂,并且随着我们所需要解决问题的复杂度的提升,也出现了臭名昭著的“JavaScript疲劳”。
这个,意味着是时候学习经过几十年沉淀的计算机领域的精华知识了。在这儿,我特别推荐以下:
- coursera的课程Learn To Think Like A Computer Scientist
- David Heinemeier Hansson所著的五本对我最有意义的编程书
你喜欢我的推荐吗?你想在2017年学点什么?